wak*_*aka 1 python arguments function
我有一个功能
def x(whatever):
....
Run Code Online (Sandbox Code Playgroud)
我想分配
y = x(whatever)
Run Code Online (Sandbox Code Playgroud)
这样我就可以将y传递给一个包装器,然后调用y引用的方法.问题是每种类型的函数x都可以有可变参数.是否可以在python中执行此操作,指定y = x(无论如何),然后将y作为参数传递.
我尝试了y = x(无论如何)并将y传递给包装器然后做了
ret = y() # dict object is not callable
Run Code Online (Sandbox Code Playgroud)
谢谢!
我想你正在寻找functools.partial():
from functools import partial
y = partial(x, whatever)
Run Code Online (Sandbox Code Playgroud)
当y被调用时,x(whatever)被调用.
您可以通过以下方式实现相同目标lambda:
y = lambda: x(whatever)
Run Code Online (Sandbox Code Playgroud)
但是a partial()接受其他参数,这些参数将被传递给包装的callable.