函式的呼叫、定義、引數
#######命名關鍵字引數沒完
abs()函式:絕對值
max()函式:接收任意多個引數,並返回最大的那個
資料型別轉換函式:
int():整數
float():浮點型
str():字元型
bool():布林型
定義函式
執行到
return
時,函式就執行完畢,並將結果返回如果已經把
my_abs()
的函式定義儲存為abstest.py
檔案了,那麼,可以用from abstest import my_abs
來匯入my_abs()
函式,注意abstest
是檔名(不含.py
副檔名):
空函式
如果想定義一個什麼也不做的空函式,可以用pass語句:
pass 用來作為佔位符,比如沒想好寫什麼函式程式碼,可以先放個pass讓整體程式碼正常執行
pass也可以用在其他語句
這句缺少pass,程式碼就會有語法錯誤
返回多個值
比如在遊戲中經常需要從一個點移動到另一個點,給出座標、位移和角度,就可以計算出新的座標:
python多值返回就是返回一個tuple
函式引數
位置引數
計算
計算
x和n都是位置引數,呼叫函式時,傳入的兩個值按照位置順序依次賦給引數x和n
把第二個引數n的預設值設定為2:
此時,power(5)和power(5,2)等價
若n>2,就必須明確地傳入n,比如power(5,3)
注意:
必選引數在前,預設引數在後,否則Python的直譯器會報錯(容易產生歧義)
當函式有多個引數時,把變化大的引數放在前面,預設引數放在後面(降低呼叫函式的難度)
如:
大多數學生註冊時不需要提供年齡和城市,只提供必須地兩個引數即可
可變引數
傳入的引數個數是可以變的
如:給一組數字,計算平方和(作為一個list或tuple傳進來)
若函式引數為可變引數:
定義可變引數和定義一個list或tuple引數相比,只是在引數前面加一個 * 號,引數numbers接收到的是一個tuple。呼叫該函式時,可以傳入任意個引數,包括0個引數
關鍵引數:
關鍵字引數允許你傳入0個或任意個含引數名的引數:
也可以傳入任意個數的關鍵字引數:
關鍵引數可以擴充套件函式功能。比如,person函式name和age兩個引數是必選項,但如果提供更多的引數就需要利用關鍵字引數
可以把字典轉換為關鍵字引數傳進去: