修改上级变量nonlocal

name = 'alex'

def test01():
    name = 'mike'
    def test02():
        global name
        name = 'lupe'
    test02()
    print(name) # mike
print(name) # alex
test01()
print(name) # lupe

nonlocal

name = 'alex'

def test01():
    name = 'mike'
    def test02():
        nonlocal name
        name = 'lupe'
    test02()
    print(name) # lupe
print(name) # alex
test01()
print(name) # alex

猜你喜欢

转载自blog.csdn.net/bus_lupe/article/details/84260649
今日推荐