gpt4 book ai didi

python - 如何将函数或运算符作为参数传递给 Python 中的函数?

转载 作者:行者123 更新时间:2023-11-28 21:59:03 24 4
gpt4 key购买 nike

...同时仍然让它在函数中可执行。

这背后的想法是我想创建一个求和函数。这是我到目前为止所拥有的:

def summation(n, bound, operation):
if operation is None and upper != 'inf':
g = 0
for num in range(n, limit + 1):
g += num
return g
else:
pass

但求和通常是关于无限收敛级数(对此我使用 'inf'),并且对每个项应用操作。理想情况下,我希望能够编写 print summation(0, 'inf', 1/factorial(n)) 并获得数学常数 e,或 def W(x): return summation(1, 'inf', ((-n) ** (n - 1))/factorial(n)) 得到 Lambert W function .

我想到的只是将适当的算法作为字符串传递,然后使用 exec 语句来执行它。但我不认为这会完成整个事情,并且将 exec 与可能由用户输入的代码一起使用显然是危险的。

最佳答案

在 Python 中,函数是一流的,也就是说它们可以像任何其他值一样使用和传递,因此您可以采用函数:

def example(f):
return f(1) + f(2)

要运行它,您可以定义如下函数:

def square(n):
return n * n

然后将其传递给您的其他函数:

example(square)  # = square(1) + square(2) = 1 + 4 = 5

如果它是一个简单的表达式,您还可以使用 lambda 来避免必须定义一个新函数:

example(lambda n: n * n)

关于python - 如何将函数或运算符作为参数传递给 Python 中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17246874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com