这应该是一个非常基本的问题,但我想知道处理高阶函数最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
吗? - Will Vousden