我有一个函数
def x(whatever):
....
我要分配
y = x(whatever)
这样我就可以将 y 传递给包装器,然后包装器调用 y 引用的方法。问题是每种类型的函数 x 都可以有可变参数。是否可以在 python 中执行此操作,分配 y = x(whatever) 然后将 y 作为参数传递。
我试过 y = x(whatever) 并将 y 传递给 wrapper 然后它做了
ret = y() # dict object is not callable
谢谢!
最佳答案
我认为您正在寻找functools.partial()
:
from functools import partial
y = partial(x, whatever)
当 y
被调用时,x(whatever)
被调用。
您可以使用 lambda
实现相同的目的:
y = lambda: x(whatever)
但是 partial()
接受额外的参数,这些参数将被传递给包装的可调用对象。
关于将参数分配给变量的python函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22358971/