我們在調用函數(shù)時也能夠使用*語法。但是函數(shù)調用時與函數(shù)定義時的功能是相反的。調用時會解包參數(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ù)調用時,**會以鍵/值對的形式解包一個字典,使其成為獨立的關鍵字參數(shù)。
>>>args = {'a': 1,'b': 2,'c': 3}
>>>args['d'] = 4
>>>func(**args)
1 2 3 4
另外,我們在調用中能夠以非常靈活的方式混合普通的參數(shù)、基于位置的參數(shù)以及關鍵字參數(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
+關注
關注
57文章
4877瀏覽量
90101 -
調用函數(shù)
+關注
關注
0文章
11瀏覽量
2483
發(fā)布評論請先 登錄
Python機器學習入門之pandas的使用提示
python基礎教程實例之python基礎入門100例程序分享
Python的Anaconda入門指南
python機器學習筆記資料免費下載
CAN報文的打包與解包及代碼自動生成
Python入門筆記之解包參數(shù)
評論