世界一切皆函數!
提到函數,定義我們就不說了。
大白話就是提供某個功能的黑盒子。
你提供一個數值,或者一個字符串,或者提供一個功能,或者子函數,然後函數輸出一個變量或者其他應該輸出的內容
我們先從最簡單的開始,就先計算加,減,乘,除中的一個。
我們先來計算加法。
比如我們計算1.5+2。
那麼我們就先定義a =1.5 和 b=2。
有的人說,為何每次都是a,b,或者x,y行不行,也都可以,你定義一個xx 和yy都是可以的。
其實我們就是先定義一個加法計算的通用公式,比如a+b,這就是加法描述的一般形式,然後,這裡面需要2個未知數,
那麼我們傳入2個數據就可以了。
本質都是變量 = 數值。
這個變量的話,只要符合python的變量定義規則就可以了。
好了,我們現在寫出代碼
就是
a = 1.5
b = 2
a+b
直接執行就可以了。
但是我們能不能簡化呢
就是打包成一個函數。
那就是
def add(x,y):
return(x+y)
在這裡就牽扯了幾個問題,
第一個是如何定義?
第二個是如何使用?
我們剛才已經解決了定義問題,
現在就來解決使用問題。
我們在命令提示符後面直接輸入。
add(1.5,2)
然後回車,
***********************
>>> def add(x,y):
... return(x+y)
...
>>> add(1.5,2)
3.5
>>>
*********************
那麼能不能把這個加法存成一個文件,然後需要的時候給我們調用呢?
答案是可以的。
首先把加法功能寫在一個文件裡面,
def add(x,y):
return(x+y)
寫好存成add.py
然後我們再建立另一個新文件,名字叫做cal.py裡面,需要導入上面製作的內部有加法功能的文件。
import add
add.add(1.5,2)
執行一下,
這裡面容易犯的錯誤是:
函數定義錯誤
第一個的代碼和第二個沒有配合好
我們在做這些的時候,如果第一個函數沒有定義好,比如第一行後面沒有冒號,那麼在第二個文件裡面執行的時候,是不能成功的。
還有,如果第一個文件中是return(x+y)
然後第二個文件中輸出的代碼是 add.add(1.5,2)
執行的時候,也是沒有直接結果的。其實系統已經計算好了結果,只是我們沒有print
所以,我們第2個裡面需要寫print(add.add(1.5,2))
如果第一個文件文件中寫成print(x+y)
然後第二個文件中就可以寫成add.add(x+y)
學到這裡,我們需要學習一下如何交換兩個數據的函數。
我這裡給出第二個文件,大家可以嘗試寫出第一個文件。
這裡是直接執行了2個數據的加法。
如果加上動態鍵盤輸入。
那就完美了。
我們修改下代碼,把固定的數值改為動態輸入就可以了
動態輸入命令是input,然後如果不加限定,輸入的將是字符串,如果我們需要計算整數,那麼int(input()).如果需要計算浮點數,那麼float.
我們使用float(input())
import add
add.add(float(input(),float(input())))
然後如果你想更人性化一些,就是輸入的時候程序有提示,
那就改為
print(add.add((float(input('please enter your first number '))),float(input('please enter your second number'))))
看起來好複雜,頭大。
執行以下,輸入1.5後回車,然後繼續輸入2.5後回車。
其實最簡單的就是
a = float(input())
b= float(input())
add.add(a,b)
其實這樣看起來最清晰。
然後需要加入提示的話,就是'請輸入第一個數據,比如2或者3.5或者-1.5這樣'
場面就越搞越大,軟體迭代的思想也會慢慢的理解,沒有最複雜,只有更複雜。所以。要學會最基本的,這樣你才可能舉一反三。真正的把這把劍舞起來。