Discuss / Python / def f1(a, b, c=0, *args, **kw):这个函数的形式参数这样设计有点问题吧?!

def f1(a, b, c=0, *args, **kw):这个函数的形式参数这样设计有点问题吧?!

Topic source
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)

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

这是工程实现,不是数学证明:

你要自己学会避免挖坑,比如调用时列出所有参数名


  • 1

Reply