Date: 2018.6.22
1、參考
https://www.cnblogs.com/mingshengling/p/7842826.html
2、Python函數參數用法
函數參數:必選參數、默認參數、可變參數、關鍵字參數
(1)必選參數:顧名思義,就是函數必須有的入參;
(2)默認參數:在函數定義時給定一個初始值,在函數調用時可以不傳這個參數,采用默認參數的值;下例中的y就是默認參數;
def add(x,y=5):
sum = x + y
return sum
注意:設置默認參數時,必選參數在前,默認參數在后!
(3)可選參數:顧名思義,函數參數的個數是可變的,例如下面的numbers就是可變參數。
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
(4)關鍵字參數:可選參數允許你傳入0個或任意個參數,這些可變參數在函數調用時自動組裝為一個tuple。而關鍵字參數允許你傳入0個或任意個含參數名的參數,這些關鍵字參數在函數內部自動組裝為一個dict。請看示例:
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
函數person除了必選參數name和age外,還接受關鍵字參數kw。在調用該函數時,可以只傳入必選參數:
person('Michael', 30)
name: Michael age: 30 other: {}
也可以傳入任意個數的關鍵字參數:
person('Bob', 35, city='Beijing')
name: Bob age: 35 other: {'city': 'Beijing'} person('Adam', 45, gender='M', job='Engineer') name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
小結:
函數參數的用法是非常靈活的,既可以簡單調用,也可以傳入復雜的參數。
默認參數一定要用不可變對象,如果是可變對象,程序運行時會有邏輯錯誤!
要注意定義可變參數和關鍵字參數的語法:
*args是可變參數,args接收的是一個tuple;
**kw是關鍵字參數,kw接收的是一個dict。
—————————————–我是有底線的——————————————–