云计算|云计算开发学习笔记:Python3作用域

来源 : 99API发布 : 2020-08-05 10:45:10访问数 : 3点赞数 : 1

  对于变量作用域,变量的访问以 L(Local) –> E(Enclosing) –> G(Global) –>B(Built-in) 的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内建中找。

  观察以下几个例子,均从内部函数输出变量 x:

  1. 局部作用域

    35cef7cd6e62461eb9eff4e37a6b54de.png

  执行结果为 2,因为此时直接在函数 inner 内部找到了变量 x。

  2. 闭包函数外的函数中

67f474bb1c444fc2b73d41c63cefe59e.png

  执行结果为 1,因为在内部函数 inner 中找不到变量 x,继续去局部外的局部——函数 outer 中找,这时找到了,输出 1。

  3. 全局作用域

bca053014bdd442f8c5bd19c37914589.png

  执行结果为 0,在局部(inner函数)、局部的局部(outer函数)都没找到变量 x,于是访问全局变量,此时找到了并输出。

  4. 内建作用域

4fe6af2597524f4c94d43c7ccc0146bd.png

  执行结果为 3,在局部(inner函数)、局部的局部(outer函数)以及全局变量中都没有找到变量x,于是访问内建变量,此时找到了并输出。


1

电子邮箱:

service@99api.com

联系电话:

17350028402

微信客服:

电子邮箱:

service@99api.com

联系电话:

17350028402

微信客服: