python-day14--带参数的装饰器+多个装饰器装饰同一个函数
Posted Cool
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-day14--带参数的装饰器+多个装饰器装饰同一个函数相关的知识,希望对你有一定的参考价值。
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--带参数的装饰器+多个装饰器装饰同一个函数的主要内容,如果未能解决你的问题,请参考以下文章