我无法理解这个封闭函数

2024-06-25 23:49:31 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么可以调用kubik()

def funtionsaufsummerier_fabrik(x):
    def funktionaufsummerier(n):
        return sum([x(i) for i in range (1, n+1)])
    return funktionaufsummerier

我不能理解上面的功能。x=kubik或x=kubik()? 当我在python tutor上运行这段代码时,def funktionaufsummerier(n):首先运行。但我认为,funtionsaufsummerier_fabrik(x)会直接跳到return,然后返回def funktionaufsummerier(n):

def kubik(i):
    return i*i*i

def quadrat(i):
    return i*i


kubiksumme = funtionsaufsummerier_fabrik(kubik)
quadratsumme = funtionsaufsummerier_fabrik(quadrat)

print(kubiksumme(4))


Tags: 代码in功能forreturndefrangesum
1条回答
网友
1楼 · 发布于 2024-06-25 23:49:31

funtionsaufsummerier_fabrik是一个构建另一个函数并返回该构造的函数。是,x是一个函数引用。内部函数将对指定范围内的每个值调用x,返回这些幂的总和

kubiksumme是一个构造的立方体求和函数quadratsumme是平方和的构造函数。当您调用kubiksumme(4)时,效果将是

    return sum([kubik(i) for i in range (1, 4+1)])

这是否为您清除了功能

相关问题 更多 >