我們?cè)谡{(diào)用函數(shù)時(shí)也能夠使用*語(yǔ)法。但是函數(shù)調(diào)用時(shí)與函數(shù)定義時(shí)的功能是相反的。調(diào)用時(shí)會(huì)解包參數(shù)的集合,而不是創(chuàng)建參數(shù)的集合。如下所示。
>>>def func(a,b,c,d): print(a,b,c,d)
...
>>>args = (1,2)
>>>args += (3,4)
>>>func(*args)
1 2 3 4
相似地,在函數(shù)調(diào)用時(shí),**會(huì)以鍵/值對(duì)的形式解包一個(gè)字典,使其成為獨(dú)立的關(guān)鍵字參數(shù)。
>>>args = {'a': 1,'b': 2,'c': 3}
>>>args['d'] = 4
>>>func(**args)
1 2 3 4
另外,我們?cè)谡{(diào)用中能夠以非常靈活的方式混合普通的參數(shù)、基于位置的參數(shù)以及關(guān)鍵字參數(shù)。
>>>func(*(1,2),**{'d': 4,'c': 4})
1 2 4 4
>>>func(1,*(2,3),**{'d': 4})
1 2 3 4
>>>func(1,c=3,*(2,),**{'d': 4})
1 2 3 4
>>>func(1,*(2,3),d=4)
1 2 3 4
>>>f(1,*(2,),c=3,**{'d':4})
1 2 3 4
-
python
+關(guān)注
關(guān)注
56文章
4797瀏覽量
84727 -
調(diào)用函數(shù)
+關(guān)注
關(guān)注
0文章
11瀏覽量
2337
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論