码迷,mamicode.com
首页 > 编程语言 > 详细

python-day14--带参数的装饰器+多个装饰器装饰同一个函数

时间:2017-07-28 19:23:45      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:eva   return   lag   应用   turn   分离   函数   计算   func   

1.# 带参数的装饰器
def f1(flag):
def f2(func):
def inner(*args,**kwargs):
if flag:
‘‘‘执行函数之前要做的‘‘‘
r=func(*args,**kwargs)
if flag:
‘‘‘执行函数之后要做的‘‘‘
return r
return inner
return f2
@f1(True)
def f3():
print(‘egon‘)
return (‘eva‘)
s=f3()
print(s)


2.#多个装饰器装饰一个函数
def qqxing(func):
def qqxing_inner(*args,**kwargs):
print(‘in qqxing:before‘)
ret = func(*args,**kwargs)
print(‘in qqxing:after‘)
return ret
return qqxing_inner

def pipixia(func):
def pipixia_inner(*args,**kwargs):
print(‘in pipixia:before‘)
ret = func(*args,**kwargs)
print(‘in pipixia:after‘)
return ret
return pipixia_inner


@qqxing
@pipixia
def dapangxie():
print("饿了么")
dapangxie()



#应用场景

#func
#1.计算func的执行时间 @timmer
#1.登录认证 #@auth

#@auth #先登录 在认证
#@timmer
#func

#解耦 尽量的让代码分离。小功能之间的分离
#解耦的目的 提高代码的重用性

python-day14--带参数的装饰器+多个装饰器装饰同一个函数

标签:eva   return   lag   应用   turn   分离   函数   计算   func   

原文地址:http://www.cnblogs.com/liuwei0824/p/7251836.html

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