python – 嵌套的范围和Lambda

def funct():
    x = 4
    action = (lambda n: x ** n)
    return action

x = funct()
print(x(2)) # prints 16

…我不太明白为什么2会自动分配给n?

解决方法:

n是funct返回的匿名函数的参数.一个完全相同的功能定义是

def funct():
    x = 4
    def action(n):
        return x ** n
    return action

这种形式是否更有意义?

上一篇:JAVA HashMap 2D,无法获得制作2D HashMap的正确方法,我的意思是将HashMap转换为另一个HashMap


下一篇:<剑指offer> 第15题