DarringZ 2022-07-30 21:42 采纳率: 0%
浏览 32

《python学习手册》第505页作用域章节

作用域这里没有看懂,有没有人可以帮助我理解一下,什么叫嵌套函数被调用时才进行查找,为什么每次循环调用都是记住的4

img

img

  • 写回答

2条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-07-31 00:24
    关注

    里面匿名函数的调用相当于下面这样写:

    acts=[]
    for i in range(5):
        def fun(x):
            return i**x
        acts.append(fun)
    

    可见循环四次,acts里保存了四个一样的函数fun,而里面这个变量 i 只有在运行函数 fun 的时候才从外层作用域,也就是 for in 所在的函数里查找当前 i 的值,也就是最后一次循环后的值 4

    评论

报告相同问题?

问题事件

  • 创建了问题 7月30日