python的闭包

name = 'Mr.bai'         # 变量写全局不安全

def abc():              # 示例此处的abc()函数会修改全局的name变量
    global name
    name = 'Mr.black'
    print(name)         # 输出为Mr.black
abc()

def func():
    name = 'alex'       # 常驻内存 防止更改
    def inner():
        print(name)     # 内层函数调用外层函数的变量叫闭包
    return inner

ret = func()
ret()

你可能感兴趣的:(python的闭包)