位置参数》*args》默认参数》关键字参数 (就这样,不能变)
说明:
(1)位置参数与*args: 若 *args 在前面,就没有位置参数什么事了,都被 *args 收了鸭。。。
(2)默认参数与 **kwargs : 若 **kwargs 放前面,就没有默认参数什么事了,因为 b = '23'
这种赋值,就是 **kwargs 接收的类型。b就永远等于10,那这个默认参数就修改不了了
# 创建函数声明参数的顺序
# 位置参数》*args》默认参数》关键字参数 (就这样,不能变)
def func(a, *args, b=10, **kwargs):
print(a)
print(args)
print(b)
print(kwargs)
func('zs', 'ww', b='23', c=30, d=40)
结果:
zs
('ww',)
23
{'c': 30, 'd': 40}