同时保留可在函数内执行的代码。
背后的想法是我想创建一个求和函数。目前为止,这是我所拥有的:
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函数。
我能想到的就是将适当的算术表达式作为字符串传递,然后使用exec
语句执行它。但我认为这不会完成整个过程,并且使用可能由用户输入的代码的exec
显然是危险的。