1.闭包的概念
如果在一个函数的函数体中又定义了另一个函数,外层的函数被称为外部函数(outter),内层的函数被称为内部函数(inner)
在一个外部函数中定义了一个内部函数,并且外部函数的返回值是内部函数的引用,这样就构成了闭包。
# 1.函数的简单用法 def func1(): num1 = 10 print("func--1") def func2(): # 问题: 在一个函数中无法访问另一个函数的变量 # print(num1) print("func--2") # 2.闭包的使用 def func3(a): num2 = 66 print("func--3") def func4(): """ 当定义了闭包之后,在内部函数中可以直接访问外部函数的变量 a和num2 被称为自由变量,也被称为临时变量 """ print(num2) # 打印外部函数的变量 print(a) # 打印外部函数的参数 print("func--4") '''外部函数的返回值是内部函数的引用''' return func4() func3(a=20) # 调用,并且传递一个参数
运行结果:
2.内部函数可以根据需求设置返回值
# 3. 内部函数可以根据需求设置返回值 def outter(a): def inner(b): return a + b return inner f = outter(33) result = f(20) print(result)
闭包的使用场景:装饰器
Python中的闭包
最新推荐文章于 2023-07-22 11:55:27 发布