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')

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


原文:https://blog.csdn.net/a2211455/article/details/53928870


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM