摘自廖雪峰
试想你正在做一个用户注册的功能,除了用户名和年龄是必填项外,其他都是可选项,利用关键字参数来定义这个函数就能满足注册的需求。
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之外和书写顺序可以变换意外,与位置参数比,还有什么其他的优点吗?
难道就是因为这样会使调用者能灵活一点?
希望大佬帮助解答一下