Python參數之命名關鍵字參數


如果要限制關鍵字參數的名字,就可以用命名關鍵字參數,例如,只接收city和job作為關鍵字參數。
這種方式定義的函數如下:

def person(name, age, *, city, job)
    print(name, age, city, job)
# 調用
person('city', 22, city='Beijing', job='IT')

輸出:

yjc 22 Beijing IT

和關鍵字參數**kw不同,命名關鍵字參數需要一個特殊的分隔符**后面的參數被視為命名關鍵字參數
命名關鍵字參數必須傳入參數名,這和位置參數不同。如果沒有傳入參數名,調用將報錯。如果調用時
缺少參數名city和job,Python解釋器把這4個參數均視為位置參數,但person()函數僅接受2個位置參數。
如果函數定義中已經有了一個可變參數,后面跟着的命名關鍵字參數就不再需要一個特殊分隔
*了:

def person(name, age, *args, city, job):
    print(name, age, args, city, job)

命名關鍵字參數可以有缺省值,從而簡化調用:

def person(name, age, *, city='Beijing', job):
    print(name, age, city, job)

由於命名關鍵字參數city具有默認值,調用時,可不傳入city參數。


免責聲明!

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



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