python专题:装饰器

137 阅读1分钟
原文链接: zhuanlan.zhihu.com

python专题:装饰器

一、装饰器的定义:装饰器是可调用的对象,其参数是另一个函数(被装饰的函数),装饰器

二、装饰器的使用方法:

1、先定义一个装饰函数(帽子)

2、再定义你的业务函数(人)

3、最后把这顶帽子戴在这个人头上

三、举一个简单实例:

#装饰函数:日志记录器logger(报告程序执行的开始与结束)
def logger(func):                                    #定义日志记录装饰函数
    def wrapper(*args,**kwargs):       
        print("准备运行{}函数".format(func.__name__))#显示add函数开始运行
        func(*args,**kwargs)                         #运行函数
        print("啊哈,运行完毕!")                    #显示add函数执行结束
    return wrapper
@logger                                              #调用装饰函数                           
def add(x,y):                                        #定义业务函数
    print("{}+{}={}".format(x,y,x + y))
add(1,1)                                             #调用业务函数

四、装饰器的应用场景:插入日志、性能测试、事物处理、缓存、权限校验等

四、装饰器的类型:

1、简单的装饰器

2、带参数的装饰器

3、类装饰器

4、内置装饰器: @staticmathod、@classmethod、 @propety

(未完,待完善)