在Python中,将函数作为参数传递

18 浏览
0 Comments

在Python中,将函数作为参数传递

假设我想计算下面的表达式 f(f(...f(x)..) ,即对自身进行多次函数运算。

目前我通过以下方式来实现这个结果(并返回所有中间步骤):

def iterator(function, x, n=4):
    x = float(x)
    arr = []
    for i in range(n + 1):
        arr.append(x)
        x = function(x)
    return arr
def funcM(x):
    return x / 4 + 12

然后我将我的函数 funcM 作为参数传递:

print iterator(funcM, 100, 5)

这种方法没有问题,计算是正确的。

但是有没有办法在不定义函数 funcM 的情况下完成相同的操作呢?

也许可以将lambda函数作为参数传递给迭代器函数(如果这没有意义,我真的不知道lambda函数是什么)。

0