发布者认证信息(营业执照和身份证)未完善,请登录后完善信息登录
总算清楚云计算开发学习笔记:Python3作用域
总算清楚云计算开发学习笔记:Python3作用域

总算清楚云计算开发学习笔记:Python3作用域

作者:yhttedit   2022-01-14 22:19:28  点击:12

详情

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

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

1. 局部作用域

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

2. 闭包函数外的函数中

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

3. 全局作用域

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

4. 内建作用域

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

相关分类
请在电脑上注册登陆 网址:https://www.zxb2b.com/