Python闭包与装饰
闭包与装饰的本质
一个函数的组成部分可以包含:
- 变量
- 函数
- 类
闭包和装饰的本质:
- 组成部分中的函数引用了组成部分中的其他变量、函数、参数,return该组成部分函数。
闭包
定义:利用nonlocal声明函数组成部分中的变量,返回组成部分中的函数。
实际使用:定义一个函数,该函数每次执行,都会从上一步的计算结果继续执行。
def out_func():
num = 10
def in_func():
nonlocal num
num += 10
print(num)
return in_func
f = out_func()
f() # 20
f() # 30
装饰
定义:函数组成部分中的函数调用了参数,返回改函数。文章来源:https://www.toymoban.com/news/detail-796132.html
实际使用:装饰的本质就是装饰,不参与任何被装饰函数的功能。一般可以用于日志,或者全局变量的判断。文章来源地址https://www.toymoban.com/news/detail-796132.html
def out_func(fn):
def in_func():
fn()
return in_func
@out_func
def fn():
print('被装饰')
fn()
到了这里,关于Python闭包与装饰的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!