python基础 day11

#装饰器形成的过程
#装饰器的作用
#原则:开放封闭原则
#装饰器的固定模式
#装饰器的本质:闭包函数
# import time
# time.time() #1970年后到现在过了多少秒
# time.sleep() #停留多少秒

# def func():
# time.sleep(0.01)
# print('老板同事大家好!')
# def timer(f): #装饰器函数
# def inner():
# start=time.time()
# f() #被装饰的函数
# end=time.time()
# print(start-end)
# print(inner.__closure__)
# return inner
# func=timer(func)
# func()

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

#装饰器的固定格式
# def wrapper(func): #func被装饰的函数
# def inner(*args,**kwargs): #inner接收被装饰函数的参数
# ret=func(*args,**kwargs) #ret接收被装饰函数的返回值
# return ret #返回被装饰函数的返回值
# return inner #返回内部函数名
def wrapper(func):
    def inner(*args,**kwargs):
        print('在被装饰的函数执行之前做的事')
        ret=func(*args,**kwargs)
        print('在被装饰的函数执行之做的事')
        return ret
    return inner
@wrapper
def holiday(day):
    print('全体放假%s天'%day)
    return '好开心'
ret=holiday(3)
print(ret)
装饰器

 





转载于:https://www.cnblogs.com/Forget-the-sky/p/10635748.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值