将数学函数作为参数传递
怎么把一个数学函数放到Python函数的参数里呢?
就像这样:
def myFunction(function):
rep = []
for i in range(100):
rep.append(function)
return rep
这里的 i
比如可以是 x
,你可以写成 myFunction(2x-1)
。
2 个回答
-1
是的,你可以像这样把一个 lambda
表达式传递给一个函数:
def myFunction(function):
Rep = []
for i in range(100):
Rep.append(function)
return Rep
functions = myFunction(lambda x:2*x-1)
2
使用 lambda 函数应该可以正常工作,Python 把它当作一个匿名函数。下面是代码:
def myFunction(math_function):
rep = []
for i in range(100):
rep.append(math_function(i))
return rep
result = myFunction(lambda x: 2*x - 1)
print(result)
不过,如果这个函数非常复杂,你可能会更喜欢用另一个 def 语句来定义它,比如:
def myMathFunction(x):
return 2*x - 1 # Replace this with any mathematical operation you need
result = myFunction(myMathFunction)