global全局变量 unlocal非局部变量 local 局部变量

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("
")

# 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
努力拼搏吧,不要害怕,不要去规划,不要迷茫。但你一定要在路上一直的走下去,尽管可能停滞不前,但也要走。
原文地址:https://www.cnblogs.com/wkhzwmr/p/15085061.html