可變參數(shù)允許你傳入0個或任意個參數(shù),這些可變參數(shù)在函數(shù)調用時自動組裝為一個tuple。而關鍵字參數(shù)允許你傳入0個或任意個含參數(shù)名的參數(shù),這些關鍵字參數(shù)在函數(shù)內部自動組裝為一個dict。
1defperson(name,age,**kw):
2print('name:',name,'age:',age,'other:',kw)
3
4#調用
5>>>extra={'city':'Beijing','job':'Engineer'}
6>>>person('Jack',24,**extra)
7name:Jackage:24other:{'city':'Beijing','job':'Engineer'}
8
9#**extra表示把extra這個dict的所有key-value用關鍵字參數(shù)傳入到函數(shù)的**kw參數(shù),kw將獲得一個dict,注意kw獲得的dict是extra的一份拷貝,對kw的改動不會影響到函數(shù)外的extra。
關鍵字參數(shù)有什么用?它可以擴展函數(shù)的功能。比如,在person函數(shù)里,我們保證能接收到name和age這兩個參數(shù),但是,如果調用者愿意提供更多的參數(shù),我們也能收到。試想你正在做一個用戶注冊的功能,除了用戶名和年齡是必填項外,其他都是可選項,利用關鍵字參數(shù)來定義這個函數(shù)就能滿足注冊的需求。
以上內容為大家介紹了python關鍵字參數(shù),希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。