python函数作用域

假装没事ソ 提交于 2019-11-30 05:31:43

python中函数有自己的作用,if语句没有作用域。

函数的作用域分为以下四种:
L:local,局部作用域,即函数中定义的变量
E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的
G:global ,全局变量,就是模块级别定义的变量
B:built-in,系统固定模块里面的变量,比如int。

搜索变量的优先级顺序:作用域局部>外层作用域>当前模块中的全局>python内置作用域。也就是LEGB

注意:
global和nonlocal
global关键字用来在函数或其他局部作用域中使用全局变量。但是如果不修改全局变量也可以不使用
global关键字。
nonlocal声明的变量不是局部变量,也不是全局变量,而是外部嵌套函数内的变量。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!