python 為什麼要有關鍵字引數
阿新 • • 發佈:2021-01-31
摘自廖雪峰
試想你正在做一個使用者註冊的功能,除了使用者名稱和年齡是必填項外,其他都是可選項,利用關鍵字引數來定義這個函式就能滿足註冊的需求。
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之外和書寫順序可以變換意外,與位置引數比,還有什麼其他的優點嗎?
難道就是因為這樣會使呼叫者能靈活一點?
希望大佬幫助解答一下