码迷,mamicode.com
首页 > 其他好文 > 详细

装饰器修正

时间:2018-06-11 22:12:25      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:参数   port   UNC   res   style   run   top   pre   imm   

1.import time

def index():
print(‘welcome to index‘)
time.sleep(3)
return 123 # 被装饰对象带返回值

def home(name): # 带上参数的被装饰对象
print(‘welcome %s to home page‘ %name)
time.sleep(2)


def timmer(func):
#func=最原始的index
def wrapper(*args,**kwargs):
start=time.time()
res=func(*args,**kwargs)
stop=time.time()
print(‘run time is %s‘ %(stop - start))
return res
return wrapper


index=timmer(index)
home=timmer(home)

res=index()
home(‘egon‘)











2.装饰器语法糖
在被装饰对象正上方,并且是单独一行写上@装饰器名
放在被装饰对象上面表示接受被装饰对象作为参数,并且返回值为被装饰对象。

import time
def timmer(func):
#func=最原始的index
def wrapper(*args,**kwargs):
start=time.time()
res=func(*args,**kwargs)
stop=time.time()
print(‘run time is %s‘ %(stop - start))
return res
return wrapper

@timmer # index=timmer(index)
def index():
print(‘welcome to index‘)
time.sleep(3)
return 123

@timmer # home=timmer(home)
def home(name):
print(‘welcome %s to home page‘ %name)
time.sleep(2)

res=index()
home(‘egon‘)








def deco(func):
def wrapper(*args,**kwargs):
res=func(*args,**kwargs)
return res
return wrapper

装饰器修正

标签:参数   port   UNC   res   style   run   top   pre   imm   

原文地址:https://www.cnblogs.com/Roc-Atlantis/p/9168970.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!