global 全局变量 nonlocal 局部变量

# x=1
# def func():
#    x=2
#
# func()
# print(x)


# x=[]
# def func():
#    x.append(1)
#    x.append(2)
#    x.append(3)
#
# func()
# print(x)

# global: 在局部声明变量是全局变量
# x=1
# def func():
#     global x
#     x=2
#
# func()
# print(x)

# nonlocal:在局部声明变量是外层函数的变量

x=333
def f1():
    x=222
    def f2():
        x=111
        def f3():
            nonlocal x
            x=0
        f3()
        print('f2内部的x: ',x)
    f2()
    print('这是f1内部的x: ',x)

f1()
print(x)
原文地址:https://www.cnblogs.com/frank007/p/9713910.html