python函数作用域

Posted zd37

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python函数作用域相关的知识,希望对你有一定的参考价值。

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

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

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

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

 

以上是关于python函数作用域的主要内容,如果未能解决你的问题,请参考以下文章

Python作用域

python函数作用域+装饰器

Python 函数的作用域

python函数的作用域

python---函数作用域

python_函数作用域