您好,登錄后才能下訂單哦!
函數(shù)參數(shù)有4種:
必填參數(shù):填入規(guī)定數(shù)量的參數(shù),不能多,也不能少。
默認(rèn)參數(shù):把某位參數(shù)設(shè)置為默認(rèn)值,這樣在不輸入的情況下,按默認(rèn)值傳遞;即此參數(shù)可以不輸入。
可變參數(shù):參數(shù)可以任意給多少個(gè)都行。 習(xí)慣使用*args表示;*arg傳入的是tuple。
關(guān)鍵字參數(shù):= 默認(rèn)參數(shù) + 可變參數(shù)。 習(xí)慣使用**kw表示;**kw傳入的是dict。
一、必填參數(shù)
def cal(x, y):
t = x + y;
return t;
二、默認(rèn)參數(shù)
def cal(x, y = 0):
t = x + y ;
return t;
三、可變參數(shù)
#once way
def cal(number) #number 為list / tuple ---> cal([1, 2, 3, 4])
sum = 0;
for n in number:
sum = sum + n; #累加
return sum;
#twice way
tup = set(1, 2, 3)
def cal(*number) #number 為tuple ---> cal(tup)
sum = 0;
for n in number:
sum = sum + n; #累加
return sum;
#other way
tup = set(1, 2, 3)
def cal(*number) #number 為tuple ---> cal(tup[0], tup[1], tup[2])
sum = 0;
for n in number:
sum = sum + n; #累加
return sum;
四、關(guān)鍵字參數(shù)
#once way
def person(name, age, **kw)
print "name:%s"%name, print "age:",age, print "other:" kw
也可以傳入任意個(gè)數(shù)的關(guān)鍵字參數(shù):
>>> person('Adam', 45, gender='M', job='Engineer')
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
先組裝出一個(gè)dict,然后,把該dict轉(zhuǎn)換為關(guān)鍵字參數(shù)傳進(jìn)去:
>>> kw = {'city': 'Beijing', 'job': 'Engineer'}
>>> person('Jack', 24, city=kw['city'], job=kw['job'])
name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
簡(jiǎn)化的寫(xiě)法:
>>> kw = {'city': 'Beijing', 'job': 'Engineer'}
>>> person('Jack', 24, **kw)
name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
五、組合
組合順序:必填參數(shù)、可選參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù)
def func(a, b, c=0, *args, **kw):
print 'a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw
>>> func(1, 2) a = 1 b = 2 c = 0 args = () kw = {}
>>> args = (1, 2, 3, 4)
>>> kw = {'x': 99}
>>> func(*args, **kw)
a = 1 b = 2 c = 3 args = (4,) kw = {'x': 99}
程序參考于https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738449338c8a122a7f2e047899fc162f4a7205ea3000
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。