python装饰器:AOP的语法糖

本文深入探讨了Python装饰器的设计模式,介绍了如何不改变原有函数功能的前提下增强其特性,如插入日志、性能测试等。通过具体示例展示了装饰器的使用方法,包括面向切面编程(AOP)的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python装饰器是一个很出名的设计模式,它主要的功能就是不改变函数已有功能的情况下对函数起到一个锦上添花的作业,使函数的功能更加丰富,在插入日志,性能测试,缓存机制和权限验证都是比较好的左右。不同的函数可以使用同一个装饰器,所以它和函数本身不存在什么必然的联系。

从一个函数分别开始处和退出时输出日志,这被称为一个横切面,这种方式的编程我们称为AOP面向切面编程,其目的在于解耦和复用。

def timeit(func):
    def tim(*args,**kwargs):
        print('start: ')
        func(*args,**kwargs);
        print('end .');
    return tim;

@timeit
def sayHi(name):
    print('hi ',name)
    
sayHi('Maty')


start:
hi  Maty
end .
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值