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日

悬赏问题

  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改
  • ¥15 Windows 系统cmd后提示“加载用户设置时遇到错误”
  • ¥50 vue router 动态路由问题
  • ¥15 关于#.net#的问题:End Function
  • ¥15 无法import pycausal
  • ¥15 VS2022创建MVC framework提示:预安装的程序包具有对缺少的注册表值的引用
  • ¥15 weditor无法连接模拟器Local server not started, start with?
  • ¥20 6-3 String类定义
  • ¥15 嵌入式--定时器使用
  • ¥20 51单片机学习中的问题