将方法和方法参数传递给另一个方法的最佳方法是什么?
有没有更好的方法来做到以下几点?
def method1(name) return 'Hello ' + name def method2(methodToCall, methodToCallParams, question): greetings = methodToCall(methodToCallParams) return greetings + ', ' + question method2(method1, 'Sam', 'How are you?')
jkp.. 11
如果要在一次命中中打包调用,可以使用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进行更精确的操作,例如仅绑定一些参数,为您提供带有新签名的函数.在很多情况下使用它都太过分了,但它肯定有它的位置.
如果要在一次命中中打包调用,可以使用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进行更精确的操作,例如仅绑定一些参数,为您提供带有新签名的函数.在很多情况下使用它都太过分了,但它肯定有它的位置.