python函数作用域简介

Posted

tags:

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

1.定义:函数中变量取值的地方;
2.函数中的变量名除了特殊声明为全局变量或本地变量,否则均为局部变量;
3.变量的作用域解析原则:LEGB原则,即:
?变量名引进分为三个作用域进行查找,首先是本地,再是函数内(如果存在),之后才是全局变量,最后是内置作用域(内置作用域:内置函数所在模块的范围);
?在默认情况下,变量名赋值会创建或者改变本地已有的变量;
?全局声明或非本地变量声明会将赋值的变量名映射到模块文件的内部作用域;
LEGB机制:
?Python搜索的四个作用域,最先是本地作用域(L);之后是上一层结构中的def所在作用域(E,函数嵌套才会出现),再是全局作用域(G),最后才是内置作用域(B)
?Python会在第一处能够找到这个变量名的位置停下来,如果python在此次搜索中没有找到该变量,会报错;(即未定义)

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

python函数作用域

javascript函数以及作用域简介

python-函数作用域

Python作用域

python函数作用域+装饰器

Python 函数的作用域