python保存的代码怎么找,python保存下来的代码怎么运行

首页 > 实用技巧 > 作者:YD1662024-01-08 20:55:21

当进入一个新的 frame, frame 会记录进入新 frame 前的代码行(实际上是字节码行),所以 python 可以在调用完一个函数后,在上次跳转的地方继续执行代码

总结一下上面的规则:

  1. 每当进入一个代码块,python 会创建一个 frame,frame 中的 locals、globals、builtins 属性可以查阅变量信息
  2. 查找一个变量的先后顺序是:locals > globals > builtins
  3. 如果是一个模块的 frame,其 locals 和 globals 是同一个字典
  4. 如果是非模块 frame,其 globals 与其上一层 frame 的 globals 是同一个字典,locals 是一个新字典
  5. 通过函数 globals 和 locals 可以获得的确 frame 的相关字典

举一反三

了解这些简单机制后,我们已经足以解释各种各样关于 python 变量的规则。

覆盖内置函数的本质:

python保存的代码怎么找,python保存下来的代码怎么运行(13)


global 关键字的使用:

python保存的代码怎么找,python保存下来的代码怎么运行(14)

其实约等价于:

python保存的代码怎么找,python保存下来的代码怎么运行(15)


exec 的问题

回到 exec 的问题上,exec 是把参数1的代码作为一个模块 frame 执行:

python保存的代码怎么找,python保存下来的代码怎么运行(16)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.