1、说明
(1)作用域,变量起作用的范围,for,if,while这些流程控制不会形成自己的作用域。
(2)在学习作用域的过程中,我们要认识到变量遵循就近原则,由内到外的查找。
2、作用域查找顺序
从当前位置一层一层往外找(局部->内建->嵌套->全局),找不到内建就会报错。
#NameError name "A" is not difind
#L E G B
3、作用域类型
local //局部作用域,本地作用域
global //全局作用域
enclosing //嵌套作用域
builtin //内建作用域
案例-1
name = "while" #这里name是全局作用域
def hello():
name = "for" #这里name是局部/本地作用域
print(name)
hello()
print(name)
# 输出
# for
# while
==============================================
import sys
print(dir()) # 内建作用域(比全局作用域还广)
print(sys.path)
name = "while" # 这里是全局作用域
============&