Date: 2018.6.22
一、參考
http://www.javashuo.com/article/p-viwtmpqh-co.htmlcss
二、Python函數參數用法
函數參數:必選參數、默認參數、可變參數、關鍵字參數html
(1)必選參數:顧名思義,就是函數必須有的入參;
(2)默認參數:在函數定義時給定一個初始值,在函數調用時能夠不傳這個參數,採用默認參數的值;下例中的y就是默認參數;python
def add(x,y=5): sum = x + y return sum
注意:設置默認參數時,必選參數在前,默認參數在後!函數
(3)可選參數:顧名思義,函數參數的個數是可變的,例以下面的numbers就是可變參數。spa
def calc(*numbers): sum = 0 for n in numbers: sum = sum + n * n return sum
(4)關鍵字參數:可選參數容許你傳入0個或任意個參數,這些可變參數在函數調用時自動組裝爲一個tuple。而關鍵字參數容許你傳入0個或任意個含參數名的參數,這些關鍵字參數在函數內部自動組裝爲一個dict。請看示例:code
def person(name, age, **kw): print('name:', name, 'age:', age, 'other:', kw)
函數person除了必選參數name和age外,還接受關鍵字參數kw。在調用該函數時,能夠只傳入必選參數:htm
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。blog
—————————————–我是有底線的——————————————–ci