首頁  >  文章  >  後端開發  >  python函數星號參數詳解

python函數星號參數詳解

高洛峰
高洛峰原創
2016-10-20 09:50:042090瀏覽

函數在定義中,透過在參數前加星號,將傳遞進來的多個參數轉換為一個對象,元組或字典,可以說是將這些參數值收集起來。

參數前加一個星號,表示將所有的值放在同一個元組中,該參數的回傳值是一個元組。

參數前加兩個星號,表示將所有的值放在同一個字典中,該參數的回傳值是一個字典。

>>> def print_param(x, y, z = 3, *pospar, **keypar):
    print x,y,z
    print pospar
    print keypar
   
>>> print_param(3,4,5,6,7,8,m = 1,n = 2)
3 4 5
(6, 7, 8)
{'m': 1, 'n': 2}

   

分配參數

函數在呼叫中,透過在參數前加星號,傳遞的參數必須是元組或字典,能夠將其值轉換為對應變數的值,而這個過程可以看做參數值的分配。

參數前加一個星號,表示將元組值指派給對應的函數參數值。

參數前加兩個星號,表示將字典中的值賦給鍵,函數的定義中要將鍵作為參數名稱。

>>> def add(x,y):
    print x,y
    return x + y
   
>>> add(*param)
1 2
3
   
>>> def test(name,age):
    print name,age
   
>>> m = {'name':'xiaoli','age':'12'}
>>> test(**m)
xiaoli 12
>>> m = {'name':'xiaoli','age':12}
>>> test(**m)
xiaoli 12


   


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn