闭包函数和装饰器
13.1.1 闭包函数
-
闭:封闭,关闭
-
包:包装起来的函数,对函数进行处理的数据,内层函数。
(1)闭包函数的构成条件
-
一定要是嵌套函数
-
内层函数要返回给外层函数
-
内层函数要使用外层函数的变量
(2)闭包的作用
-
可以写装饰器
-
可以保存外部函数的变量
语法格式: def out(): name = 0 def inner(): pass return inner ----------------------------- 当函数调用的时候里面的代码执行,执行完毕之后随后变量销毁 def out(): a = 10 def inner(b): nonlocal a a+=b print(a) return inner res = out() res(10) res(10) res(10) ----------------------------------- def out(name): def inner(msg): print(f'{name}:{msg}') return inner heihei = out('嘿嘿') student = out('李广') heihei('出来玩最重要的是什么?') student('不知道!') heihei('出来玩最重