global全局变量
unlocal非局部变量
local 局部变量
count = 1
def a():
count = 'a函数里面' # 如果不事先声明,那么函数b中的nonlocal就会报错
def b():
'''
nonlocal只能在封装函数中使用,
在外部函数先进行声明,这里是在函数a中;在内部函数进行nonlocal声明,这里是函数b中
这样在b()函数中的count与a()中的count是同一个变量。
'''
nonlocal count # 非局部变量
print(count)
count = 2 # 这里又把 count 的值变为2
b() # 不再类中调用自身函数前可不加self.
print(count)
if __name__ == '__main__':
a()
print(count)
print("\n")
# global全局变量
count1 = 1
def a():
# global count1
count1 = 'a函数里面'
def b():
global count1
print(count1) # 1
count1 = 2
b()
print(count1) # a函数里面
if __name__ == '__main__':
a()
print(count1) # 2