**函数中的 args 引发 TypeError“采用 0 个位置参数”[python]

ERJ*_*JAN 3 python

def f(**args):
    print(args)
Run Code Online (Sandbox Code Playgroud)

这会产生 TypeError 异常。尽管当我不传递任何参数时,例如 f()。它什么也没打印。

可能是什么原因以及如何传递参数?我尝试使用 f([4,5]),但结果仍然相同

Jea*_*bre 6

f仅具有字典参数**args(更常见地写为**kwargs),这意味着仅允许关键字参数(当然也允许不传递任何内容)。

要启用位置参数,请添加*args

def f(*args,**kwargs)
Run Code Online (Sandbox Code Playgroud)

或使用任何关键字传递参数:

f(foo=[4,5])
Run Code Online (Sandbox Code Playgroud)

并且kwargs["foo"][4,5]f