python-装饰器初解

本文详细解析了Python装饰器的工作原理及其应用场景,通过实例展示了如何使用装饰器在不修改原函数的情况下,为其添加额外的功能,如计时器装饰器的实现。

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

# 装饰器的作用
# 不想修改函数的调用方式( func() 还是这样调用),但是还想再原来函数前后添加功能
# timer() 就是一个装饰器函数,只对一个函数,有一些装饰作用

import time
def func():   
    time.sleep(3)
    print('这是一个函数执行的内容')

def timer(f):   #  这是一个装饰器函数
    def inner():
        start = time.time()
        f()     # 被装饰的函数
        end = time.time()
        print('函数执行了%d秒' %(end-start) )
    return inner
func = timer(func)
func() # 函数调用方法没有被改变

 这个timer函数就是为了实现 计算func()函数运行用了多少时间而存在的

装饰器的原则:

    开放封闭原则

      开放:对扩展是开放的

      封闭:对修改时封闭的

 

  

转载于:https://www.cnblogs.com/alet/p/9737140.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值