我想知道是否可以在 python 中执行以下操作:
def func1(a,b):
return func2(c,d)
我的意思是,假设我用 a,b 做了一些事情,这导致了一些可以定义新函数的系数,如果 a,b 的操作确实可行并且能够访问这个函数,我想创建这个函数在 func1 之外。
一个例子是给定函数 f 的简单傅立叶级数 F(x):
def fourier_series(f,N):
...... math here......
return F(x)
我的意思是我想创建并存储这个新函数供以后使用,也许我想推导它,或者积分或绘图或任何我想做的事情,我不想发送点(s) ) x 用于在 fourier_series(或 func1(..))中进行评估,我只是说 fourier_series 创建了一个接受变量 x 的新函数,此函数可以稍后在外部调用,如 y = F(3)... 如果我做了自己够清楚了吧?
最佳答案
你应该能够通过定义一个新的内联函数来做到这一点:
def fourier_series(f, N):
def F(x):
...
return F
您不限于传递给 fourier_series
的参数:
def f(a):
def F(b):
return b + 5
return F
>>> fun = f(10)
>>> fun(3)
8
关于python - 在python函数中创建一个新函数作为返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12738031/