变量名解析:LEGB原则

时间:2023-03-08 19:55:11
变量名解析:LEGB原则
# -*- coding: cp936 -*-
#python 27
#xiaodeng
#变量名解析:LEGB原则
'''
L-----local 局部名字空间
E-----enclosing 直接外围空间
G-----global 全局名字空间
B-----builtin 内建名字空间
变量名是按照这个顺序搜索的。 基本原则详细阐述:
1、变量名引用分为4个作用域进行查找,首先是本地,之后是函数内(如有),再全局,最后内置作用域,找到变量名之后才会停止下来
2、在默认情况下,变量名赋值会创建或改变本地变量
3、全局声明和非本地声明将赋值的变量名映射到模块文件内部的作用域
''' 最重要的一句话,变量名查找引用顺序:
首先是查找本地作用域,之后是函数内(如有),再全局,最后内置作用域,找到变量名之后才会停止下来,否则报错~~