global全局变量 unlocal非局部变量 local 局部变量
global全局变量:在函数中定义与函数外相同的变量名报错,因加全局变量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
努力拼搏吧,不要害怕,不要去规划,不要迷茫。但你一定要在路上一直的走下去,尽管可能停滞不前,但也要走。