Joh*_*ohn 1 python metaprogramming python-2.7
我想做的就是这样
def mult(x, y):
return x * y
def add(x, y):
return x + y
treeFunction = mult(2, add(x, y))
#outputs 10 (2 * ( 2 + 3 ))
print treeFunction(2, 3)
Run Code Online (Sandbox Code Playgroud)
基本上,在运行时有没有办法通过将add()的值乘以某个值来改变它的返回值.
我认为你要的是一个lambda函数:
treeFunction = lambda x,y: mult(2, add(x, y))
Run Code Online (Sandbox Code Playgroud)
然后将其用作:
treeFunction(2, 3)
Run Code Online (Sandbox Code Playgroud)
编辑
读一下python中的闭包.绝对值得你花时间学习.