python 变量分 全局变量和局部变量
test = 0
def sum(a,b):
test=a+b //重新定义test , 此时为局部变量
print(test)
return test
sum(12,8)
print(test)
20
0
nonlocal 与 global
def scope_test():
def do_local():
message="local var"
def do_nonlocal():
nonlocal message //提升一级,
message="noonlocal var"
def do_global():
global message //声明全局变量, 提升两级
message = "global var"
message="test var"
do_local()
print("声明局部变量",message) #打印的是上面一个test var
do_nonlocal()
print("声明当前范围",message)
do_global()
print("声明全局变量",message)
scope_test()
print("全局范围查看",message)
声明局部变量 test var
声明当前变量 nonlocal var
声明全局变量 nonlocal var
全局范围查看 global var