将参数指定给变量的python函数
我有一个函数将参数指定给变量的python函数,python,function,arguments,Python,Function,Arguments,我有一个函数 def x(whatever): .... 我想分配 y = x(whatever) 这样我就可以把y传递给包装器,然后包装器调用y引用的方法。问题是每种类型的函数x都可能有变量参数。在python中是否可以这样做,指定y=x(无论什么),然后将y作为参数传递 我尝试了y=x(无论什么),并将y传递给包装器,然后包装器就这样做了 ret = y() # dict object is not callable 谢谢 我想您正在寻找: 当调用y时,调用x(无论什么) 您可
def x(whatever):
....
我想分配
y = x(whatever)
这样我就可以把y传递给包装器,然后包装器调用y引用的方法。问题是每种类型的函数x都可能有变量参数。在python中是否可以这样做,指定y=x(无论什么),然后将y作为参数传递
我尝试了y=x(无论什么),并将y传递给包装器,然后包装器就这样做了
ret = y() # dict object is not callable
谢谢 我想您正在寻找:
当调用y
时,调用x(无论什么)
您可以使用lambda
实现同样的效果:
y = lambda: x(whatever)
但是
partial()
接受额外的参数,这些参数将传递给包装的可调用对象。另一个区别是:partial
返回的可调用对象将参数固定为当时的值。lambda
返回的可调用项在调用时使用当前值which
。@chepner:这是真的;这同样适用于x
。您可以使用lambda x=x,w=whatever:x(w)
将两者绑定到lambda。
y = lambda: x(whatever)