`
swingfly
  • 浏览: 52455 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Python的变量名解析机制

阅读更多

Python的变量名解机制有时称为LEGB法则,这也是由作用域的命令而来的。

  • 当在函数中使用未认证的变量名时,Python搜索4个作用域【本地作用域(L),之后是上一层结构中的def或lambda的本地作用域(E),之后是全局作用域(G),最后是内置作用域(B)】并且在第一次能够找到这个变量名的地方停下来。如果变量名在这个搜索中没有找到,Python回报错。
  • 当在函数中给一个变量名赋值时(而不是在一个表达式中对其进行引用),Python总是创建或改变本地作用域的变量,除非它已经在那个函数中声明为全局变量。
  • 当在函数之外给一个变量名赋值时(也就是,在一个模块文件的顶层,或者是在交互提示模式下),本地作用域与全局作用域(这个模块的命名空间)是相同的。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics