python函式引數傳遞規則
阿新 • • 發佈:2019-02-09
1、宣告一個引數具有預設值引數的函式,如下:
def hello(name = 'python')
print('你好',name)
---無引數傳遞直接呼叫函式,則為:你好,python--(hello)
---有引數傳遞時,如:hello('小明')--結果為:你好,小明
2、預設引數呼叫
def sum(a=1,b=2,c=3)
sum_abc=a+b+c
無引數時有sum_abc=6.
有引數時,例sum(3,3,3),,則sum_abc=3+3+3=9
3、可變數量引數傳遞
在定義函式時,如果引數名前加上一個‘*’,則表示該引數就是一個可變長引數。在呼叫該引數時,如果依次序將所有的其他變數都賦予值之後,剩下的引數將會手機在一個元組中,元組名稱即為星號的引數名。
例:def change_para_num(*tpl,a=0,b)
print('tpl:',tpl)
print('a',a)
print('b',b)
change_para_num(1,2,3,a=1,b=2) #tpl=(1,2,3) a=1 b=2
change_para_num(1,2,3,1,b=2) #tpl=(1,2,3,1) a =0 b=2
該方法也可以將帶*的可變長引數放在函式定義引數區的最後一個,
4、第三 方法利用帶星號的可變長引數收集的是無關鍵字的不定數引數,如要收集不定數量的關鍵字引數可以在自定義函式時的引數前加兩個星,即為**valuename,此種方法多餘的關鍵字引數就可以以字典的方式被收集到變數valuename中。