python 装饰器

白话解读: 装饰器的本质是在执行原有函数(被装饰的函数)的同时,再加上一些额外的功能。

不用想那些乱七八糟的东西,

先来个最简单的demo,通俗易懂:

def aaa(func):
    print("执行前!!!")
    return func # 执行 被执行函数

def ddd(func):
    
    def new():
        func()
        print('执行后!!!')
    return new
@aaa
def bbb():
    print('执行1')

@ddd
def ccc():
    print('执行2')

 

@wraps 函数作用:

保证被执行函数基础信息不被变更 如函数名称、描述 等

https://www.cnblogs.com/goddog1024/p/11195040.html

def aaa(func):
    print("执行前!!!")
    @wraps(func)  # 注释、取消注释可查看差异
    def eee(*args):
        func()
        # return func() # 执行 被执行函数
    return eee

@aaa
def bbb():
    print('执行1')

bbb()
print(bbb.__name__) 

 

posted @ 2021-03-18 11:53  睡到自然醒ccc  阅读(27)  评论(0编辑  收藏  举报