资料来源:https://blog.csdn.net/qq_42780289/article/details/89244761
global
局部要对全局变量修改,应在局部声明该全局变量
count = 0
def global_test():
global count
count += 1
print(count)
global_test()
# 以上输出为:1
注意:global会对原来的值(全局变量)进行相应的修改
count = 0
def global_test():
global count
count += 1
print(count)
global_test()
print(count)
# 以上输出为:1,1
如果局部不声明全局变量,并且不修改全局变量,则可以正常使用。
count = 0
def global_test():
print(count)
global_test()
# 以上输出为:0
nonlocal
nonlocal声明的变量不是局部变量,也不是全局变量,而是外部嵌套函数内的变量。
def nonlocal_test():
count = 0
def test2():
nonlocal count
count += 1
return count
return test2
val = nonlocal_test()
print(val())
print(val())
print(val())
以上输出为:1,2,3