Python的三種可變參數

初學python沒多久,對python中函數的可變參數有點頭暈,查閱了stackflow,現總結一下

可變參數

可變參數應該最簡單,在C/C++和Java等語言中都有,就是用*號來表示,例如

def testArg(*arg)

你可以傳入任意多個元素(包括0)到參數中,在函數內部會自動認爲是一個元組或列表

關鍵字參數

關鍵字參數在python中習慣用**kw表示,可以傳入0到任意多個“關鍵字-值”,參數在函數內部被當做一個字典結構。例如

def testArg(**kw)
def testArg(city,**kw)

可以這樣調用他

testArg(name='John',job='hoker')
testArg('beijin',name='john')

關鍵字參數可以用來後期擴充函數的功能,例如:先設定必要的參數,之後選擇性的增加可選參數。

命名關鍵字參數

採用命名關鍵字參數可以限制函數傳入的關鍵字參數,定義如下:

def testArg(city,name,*,age,job)

可以這樣調用他

testArg('beijin','wfp',age='25',job='hoker')
testArg('beijin','wfp',addr='shanghai',age='25',job='hoker')

但是不能這樣調用他

testArg('beijin','wfp','25',job='hoker')

會提示缺少一個參數,定義了命名關鍵字參數的話,必須要把全部的關鍵字參數傳入進去

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章