def f1(a, b, c=0, *args, **kw): print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)
这个f1函数中参数c的默认值功能无法实现! 例如,a=1, b=2, c=0, args=(4,5), kw={'k1':'v1', 'k2':'v2'},下面这样调用,会把4传递给c, args变成了(5,)---结果就不符合上面说的本意!f1(1, 2, *args, **kw)
这是工程实现,不是数学证明:
你要自己学会避免挖坑,比如调用时列出所有参数名
Sign in to make a reply
教育从家长抓起