我們在調用函數時也能夠使用*語法。但是函數調用時與函數定義時的功能是相反的。調用時會解包參數的集合,而不是創建參數的集合。如下所示。
>>>def func(a,b,c,d): print(a,b,c,d)
...
>>>args = (1,2)
>>>args += (3,4)
>>>func(*args)
1 2 3 4
相似地,在函數調用時,**會以鍵/值對的形式解包一個字典,使其成為獨立的關鍵字參數。
>>>args = {'a': 1,'b': 2,'c': 3}
>>>args['d'] = 4
>>>func(**args)
1 2 3 4
另外,我們在調用中能夠以非常靈活的方式混合普通的參數、基于位置的參數以及關鍵字參數。
>>>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
+關注
關注
56文章
4825瀏覽量
86200 -
調用函數
+關注
關注
0文章
11瀏覽量
2392
發布評論請先 登錄
Python機器學習入門之pandas的使用提示
python基礎教程實例之python基礎入門100例程序分享
python代碼示例之基于Python的日歷api調用代碼實例

評論