python 装饰器
Posted iswuyi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 装饰器相关的知识,希望对你有一定的参考价值。
装饰器的主要功能:
在不改变函数调用方式(不改变原函数)的基础上在函数的前,后添加功能
装饰器的固定格式
def timmer(func): def inner(*args,**kwargs): set = func(*args,**kwargs) return set return inner # 传内部函数的名称,不能加括号 @timmer # @装饰器函数名 # func = timmer(func) def func(*args,**kwargs): # 被装饰器函数 time.sleep(0.01) print(‘大家好‘) ret=func() print(ret)
带参数的装饰器
def outer(flag): def one(func): def two(*args,**kwargs): if flag: print(‘‘‘执行之前‘‘‘) ret= func(*args,**kwargs) if flag: print(‘‘‘执行之后‘‘) return ret return two return one @outer(False) def func(): print(111) func()
多个装饰器装饰一个函数
def wrapper1(func): def inner(): print(‘wrapper1 ,before func‘) func() print(‘wrapper1 ,after func‘) return inner def wrapper2(func): def inner(): print(‘wrapper2 ,before func‘) func() print(‘wrapper2 ,after func‘) return inner @wrapper2 @wrapper1 def f(): print(‘in f‘) f()
以上是关于python 装饰器的主要内容,如果未能解决你的问题,请参考以下文章