首页 > 其他 > 详细

装饰器

时间:2019-05-02 12:34:57      阅读:99      评论:0      收藏:0      [点我收藏+]
# 装饰器形成的过程——>最简单的装饰器,有返回值,有一个参数,无敌参数
# 装饰器的作用
# 语法糖
# 原则:开放封闭原则
# 装饰器的固定模式

# import time
# time.time() # 获取当前时间
# time.sleep(2) # 让程序在执行到此位置时停一会



# def timmer(f): # 装饰器函数
# def inner(*args,**kwargs):
# start = time.time()
# ret = f(*args,**kwargs) # 被装饰的函数
# print(time.time()-start)
# return ret
# return inner
# @timmer # 语法糖 @装饰器函数名
# def fun(a,b): # 被装饰的函数名
# time.sleep(1)
# print(‘老板好!!!‘,a,b)
# return ‘新年好‘

# fun=timmer(fun)
# ret = fun(1,b=2)
# 装饰器的作用
# 不想修改函数的调用方式,但是还想再原来的函数前后添加功能
# timmer就是一个装饰器函数,只是对一个函数有一些修饰功能

# 原则:开放封闭原则
# 开放:对拓展是开放的
# 封闭:对修改是封闭的



# import time
# def wrapper(f): # 装饰器函数,f是被装饰函数
# def inner(*args,**kwargs):
# ‘‘‘在被装饰的函数之前要做的事‘‘‘
# ret = f(*args,**kwargs) # 被装饰的函数的执行
# ‘‘‘在被装饰的函数之后要做的事‘‘‘
# return ret
# return inner
#
# @wrapper # 语法糖 @装饰器函数名
# def fun(a,b): # 被装饰的函数名
# time.sleep(1)
# print(‘老板好!!!‘,a,b)
# return ‘新年好‘
def wrapper(f):
def inner(*args,**kwargs):
print(‘在被装饰的函数之前做的事‘)
ret = f(*args,**kwargs)
print(‘在被装饰的函数之后做的事‘)
return ret
return inner
@wrapper # wuyi = wrapper(wuyi)
def wuyi(time):
print(‘假期还有{}天结束‘.format(time))
return ‘kaixin‘

ret = wuyi(3)
print(ret)

 

装饰器

原文:https://www.cnblogs.com/Mr-Feng/p/10801957.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!