写在前面:相信在看装饰器的你,已经有一定python基础了,如果对“函数嵌套”,“函数返回函数”,“将函数作为参数传递”这些可能不常用操作有点迷的话,建议看一下这篇文章,写的挺好!

地址:https://www.runoob.com/w3cnote/python-func-decorators.html

正式开始:

首先要明白装饰器是干嘛的,简而言之就是在不修改原函数的情况下,对函数进行功能增加等操作,也就是装饰!!!

写一个简单的函数装饰器:

# use_logging函数接收一个函数
def use_logging(func):
    def wrapper(*args, **kwargs):
        print("[debug] %s is running" % func.__name__)
        return func(*args, **kwargs)
    return wrapper

def demo1():
    print('i an demo1')

d = use_logging(demo1)
d()