我有一个功能
def x(whatever):
....
我想分配
y = x(whatever)
这样我就可以将y传递给一个包装器,然后调用y引用的方法。问题是每种类型的函数x都可以有可变参数。是否可以在python中执行此操作,指定y = x(无论如何),然后将y作为参数传递。
我尝试了y = x(无论如何)并将y传递给包装器然后执行了
ret = y() # dict object is not callable
谢谢!
答案 0 :(得分:5)
我认为您正在寻找functools.partial()
:
from functools import partial
y = partial(x, whatever)
调用y
时,会调用x(whatever)
。
您可以使用lambda
:
y = lambda: x(whatever)
但partial()
接受其他参数,这些参数将传递给包装的可调用对象。