装饰器

定义:装饰器本身就是一个函数,用于装饰其他函数。

功能:增强被装饰函数的功能。

装饰器一般接收一个函数作为参数,以实现功能增强

 1 >>> def deco(func):#定义一个装饰器,它的参数是一个完整的函数
 2     def wrapper():#定义一个类似外包装的东西
 3         print('这是一个简单的运算')#外包装的语句
 4         func()#传入的参数,即函数
 5         print('精彩的完成了这次简单的运算')#外包装的语句
 6     return wrapper
 7 
 8 >>> @deco#指定装饰器
 9 def add():#定义被装饰的函数
10     print(1+1)
11 
12     
13 >>> add()#调用被装饰的函数
14 这是一个简单的运算
15 2
16 精彩的完成了这次简单的运算
17 
18 #分析:实际上我们只是想定义一个函数用来进行加法运算,但是我们加了装饰器用来装饰
19 #运算前后的语句,使得看上去更加完整有趣一些,这就是装饰器的由来
# 定义装饰器的过程
# 首先定义一个函数,传入的参数是一个函数
# 这个装饰器的名字就被称作是deco
def deco(func):
    # 定义一个外包装,外包装里面有自己定义的属于外包装本身的内容
    def wrapper():
        print('这是一个简单的运算!')
        func()#外包装包裹着被传入的函数
        print('精彩地完成了这次运算')
    # 返回外包装
    return wrapper

# 让我们来解析一下装饰器的工作过程
@deco
def add():
    print(1+1)

add()
# 首先定义一个被装饰的函数,
# 函数上面用@加入装饰器
# 这个函数就作为装饰器的参数传入
# 然后装饰器开始工作,运行装饰器本身的东西
# 遇到传入的函数时,执行函数
原文地址:https://www.cnblogs.com/themost/p/6807596.html