我們在調(diào)用函數(shù)時也能夠使用*語法。但是函數(shù)調(diào)用時與函數(shù)定義時的功能是相反的。調(diào)用時會解包參數(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)用時,**會以鍵/值對的形式解包一個字典,使其成為獨立的關(guān)鍵字參數(shù)。
>>>args = {'a': 1,'b': 2,'c': 3}
>>>args['d'] = 4
>>>func(**args)
1 2 3 4
另外,我們在調(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文章
4823瀏覽量
86022 -
調(diào)用函數(shù)
+關(guān)注
關(guān)注
0文章
11瀏覽量
2389
發(fā)布評論請先 登錄
Python機器學(xué)習(xí)入門之pandas的使用提示
python基礎(chǔ)教程實例之python基礎(chǔ)入門100例程序分享
python代碼示例之基于Python的日歷api調(diào)用代碼實例

評論