作用域

作用域

全局作用域

全局有效:内置名称空间 全局名称空间

局部作用域

局部有效     局部作用域

global:局部修改全局 如果想修改多个 逗号隔开
nonlocal:局部修局部 如果想修改多个 逗号隔开


# global 在局部修改全局的不可变数据类型
# x = [] # 因为列表是可变类型
x = 1 # 不可变类型
username = 'jason'
def func():
# x.append('嘿嘿嘿')
global x,username # 修改全局变量 而不是创建局部名称空间
x = 999
username = 'egon'
func()
print(x)
print(username)

# nonlocal 局部修改局部
def func():
x = 1
def index():
nonlocal x
x = 2
index()
print(x)
func()

原文地址:https://www.cnblogs.com/yangxinpython/p/11165031.html