装饰器

本文介绍了Python中装饰器的概念及其实现原理,通过具体示例展示了如何利用闭包实现函数的功能扩展,同时引入了时间计时装饰器来衡量函数执行时间。

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

# 装饰器的本质:  闭包函数
# 功能:  就是在不改变原函数调用方式的情况下,在这个函数前后加上扩张功能
def timemer(func):
    def inner(*args,**kwargs):
        '''添加函数调用之前的扩展代码'''
        ret = func(*args,**kwargs)
        '''添加函数调用之后的扩展代码'''
        return ret
    return inner
# 设计模式 原则 开放封闭原则
# 对扩展是开放的
# 对修改是封闭的

import time
def wrapper(func): #装饰
    def inner(*args,**kwargs):
        start = time.time()
        ret = func(*args,**kwargs)
        end = time.time()
        print(end - start)
        return ret
    return inner
@wrapper    #语法糖
def lll():
    time.sleep(0.1)
    print('hello')

lll()
---
hello
0.10107421875
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值