作用域(scope)

作用域就是 python 程序的一块文本区域,在这个区域内,可以直接访问(Directly accessible)命名空间。

直接访问的意思就是:当你访问一个绝对的命名的时候,直接在命名空间中查找

尽管作用域的定义是静态的,但是作用域的使用(查找变量)却是动态的。


在代码执行的任何时间,至少有 3 个嵌套的作用域,这些作用域的命名空间可以直接访问。

  1. 内部作用域(局部作用域)。包含了所有的局部命名,在访问变量的时候,首先在内部作用域中查找。

  2. 然后是嵌套函数的外层作用域。在这里搜索非局部,但也是非全局的命名。(在 python 中允许在函数中定义函数的)

  3. 然后是包含当前模块的全局作用域。

  4. 最后搜索的是最外层的创建内置命名的作用域。


Copyright © 李振超 2018 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-02-25 07:12:09

results matching ""

    No results matching ""