将方法和方法参数传递给另一个方法的最佳方法是什么?
有更好的方法来执行以下操作吗?
def method1(name)
return 'Hello ' + name
def method2(methodToCall, methodToCallParams, question):
greetings = methodToCall(methodToCallParams)
return greetings + ', ' + question
method2(method1, 'Sam', 'How are you?')
如果您想一次性打包调用,可以使用 functools 模块:
from functools import partial
def some_function(param_one, param_two):
print "Param One: %s" % param_one
print "Param Two: %s" % param_two
def calling_function(target):
target()
calling_function(partial(some_function, "foo", "bar"))
您也可以使用 functools.partial 进行一些调整,例如仅绑定某些参数,从而为您留下一个具有新签名的函数。在很多情况下使用它有点矫枉过正,但它确实有它的用处。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)