1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
####装饰器的固定格式
##普通版本
def timer(func):
def inner( * args, * * kwargs):
'''执行函数之前要做的'''
ret = func( * args, * * kwargs)
'''执行函数之后要做的'''
return ret
return inner
##wraps版本
from functools import wraps
def deco(func):
@wraps (func) #加在最内层函数正上方
def wrapper( * args, * * kwargs):
return func( * args, * * kwargs)
return wrapper
####带参数的装饰器
def outer(flag):
def timer(func):
def inner( * args, * * kwargs):
if flag:
print ( '''执行函数之前要做的''' )
ret = func( * args, * * kwargs)
if flag:
print ( '''执行函数之后要做的''' )
return ret
return inner
return timer
@outer ( True )
def func():
return '返回值'
x = func()
print (x)
|
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/lcl497049972/article/details/85559550