天天看點

python如何使用函數_python_函數中使用*和**

Python在函數中,使用*接收元組,使用**接收鍵/值對

當要使函數接收元組或字典形式的參數 的時候,有一種特殊的方法,它分别使用*和**字首 。這種方法在函數需要擷取可變數量的參數 的時候特别有用。

[注意]

[1] 由于在args變量前有*字首 ,所有多餘的函數參數都會作為一個元組存儲在args中 。如果使用的是**字首 ,多餘的參數則會被認為是一個字典的健/值對 。 [2] 對于def func(*args):,*args表示把傳進來的位置參數存儲在tuple(元組)args裡面。例如,調用func(1, 2, 3) ,args就表示(1, 2, 3)這個元組 。

[3] 對于def func(**args):,**args表示把參數作為字典的健-值對存儲在dict(字典)args裡面。例如,調用func(a='I', b='am', c='wcdj') ,args就表示{'a':'I', 'b':'am', 'c':'wcdj'}這個字典 。 [4] 注意普通參數與*和**參數公用的情況,一般将*和**參數放在參數清單最後。

【示例】

#-*- coding: utf-8 -*-

def read_tuple(*args):"""*args: 用來接收元組"""

for a inargs:printadef read_dict(**args):"""**args: 用來接收字典"""

for key, value inargs.items():printkeyprintvalue

name= ("Lili", "Jack", "Lucy")

message= {"zhangsan": 24, "lisi" : 20, "wangwu":30}

read_tuple(*name)

read_dict(**message)

read_tuple(1, 2, 3)

read_dict(name= "zhangshan", age = 12, sex=u"男")

【截圖】

python如何使用函數_python_函數中使用*和**