python - 在python函数中创建一个新函数作为返回值?

标签 python

我想知道是否可以在 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/

相关文章:

python - 需要帮助并行化 python 中的循环

python - 如何在 PyOpenGL 中将 png 图像作为图像叠加层进行 blit?

python - 比较两个列表(检查短列表在长列表中出现了多少次)

python - 在带有HFS +的OSX上的python中,如何获取现有文件名的正确大小写?

python - Keras top_k_categorical_accuracy 指标与准确率相比极低

Python Regex 转义运算符\in 替换和原始字符串

python - 手动提交偏移量到kafka主题的正确方法是什么

python - 如何在不同的分隔符上拆分字符串,但保留某些所述分隔符的输出? (标记字符串)

python - 如何在Python中使用带有None值的重新分割?

python - 如何检查系列的符号是否符合给定的符号字符串?