【发布时间】:2014-12-08 20:28:41
【问题描述】:
这应该是一个非常基本的问题,但我想知道处理高阶函数的最 Pythonic 方式是什么。我已经定义了f 和g:
def f(x):
return x**2
def g(x):
return x**3
def gen_func(f,g):
def func(x):
return f(x)+g(x)
return func
wanted_func = gen_func(f, g)
或:
import functools
def gen_func(f,g,x):
return f(x)+g(x)
wanted_func = functools.partial(gen_func, f, g)
我可能会错过这两个写作不同之处?
【问题讨论】:
-
您的意思是在
gen_func中有return func? -
是的,这是一个错字:已编辑!
-
对于你所拥有的,第一种方法已经很清晰并且是 Python 的