溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python 函數(shù)參數(shù)

發(fā)布時(shí)間:2020-06-27 18:15:52 來(lái)源:網(wǎng)絡(luò) 閱讀:359 作者:虎皮喵的喵 欄目:編程語(yǔ)言

函數(shù)參數(shù)有4種:

  1. 必填參數(shù):填入規(guī)定數(shù)量的參數(shù),不能多,也不能少。

  2. 默認(rèn)參數(shù):把某位參數(shù)設(shè)置為默認(rèn)值,這樣在不輸入的情況下,按默認(rèn)值傳遞;即此參數(shù)可以不輸入。

  3. 可變參數(shù):參數(shù)可以任意給多少個(gè)都行。 習(xí)慣使用*args表示;*arg傳入的是tuple。

  4. 關(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 = {}


>>> func(1, 2, 3, 'a', 'b', x=99) a = 1 b = 2 c = 3 args = ('a', 'b') kw = {'x': 99}


>>> 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


向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI