1. 程式人生 > 其它 >python 為什麼要有關鍵字引數

python 為什麼要有關鍵字引數

技術標籤:廖雪峰筆記python

摘自廖雪峰

試想你正在做一個使用者註冊的功能,除了使用者名稱和年齡是必填項外,其他都是可選項,利用關鍵字引數來定義這個函式就能滿足註冊的需求。

def person(name, age, **kw):
    print('name:', name, 'age:', age, 'other:', kw)
>>> person('Bob', 35, city='Beijing')
name: Bob age: 35 other: {'city': 'Beijing'}

>>> person('Adam', 45
, gender='M', job='Engineer') name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}

上面程式碼中name、gender是必填項,city,job,gender等等,愛填幾個填幾個,也可以都不填。

命名關鍵字引數的疑問:

命名關鍵字引數函式呼叫時必須傳入,除了呼叫的時候需要寫上key之外和書寫順序可以變換意外,與位置引數比,還有什麼其他的優點嗎?
難道就是因為這樣會使呼叫者能靈活一點?
希望大佬幫助解答一下