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--带参数的装饰器+多个装饰器装饰同一个函数的主要内容,如果未能解决你的问题,请参考以下文章

10-5装饰器进阶_带参数的装饰器多个装饰器装饰同一个函数

22_装饰器带参数的装饰器多个装饰器装饰一个函数

带参数的装饰器,多个装饰器装饰一个函数,函数的有用信息。

装饰器的应用-装饰器带参数和不带参数

0515Python基础-带参数的装饰器-多个装饰器

装饰器(带参数)