首页 > 编程语言 > 详细

python编写一个带参数的装饰器

时间:2021-06-03 23:34:39      阅读:22      评论:0      收藏:0      [点我收藏+]
 1 from functools import wraps
 2 import logging
 3 
 4 def logged(level,name=None,message=None):
 5     def decorate(func):
 6         logname=name if name else func.__module__
 7         print(logname)
 8         log=logging.getLogger(logname)
 9         logmsg=message if message else func.__name__
10         print(logmsg)
11 
12         @wraps(func)
13         def wrapper(*args,**kwargs):
14             log.log(level,logmsg)
15             return func(*args,**kwargs)
16         return wrapper
17     return decorate
18 
19 
20 @logged(logging.DEBUG)
21 def add(x,y):
22     print(x,y)
23     return x+y
24 
25 add(3,4)
26 
27 
28 @logged(logging.CRITICAL,"example")
29 def spam():
30     print("Spam")
31 
32 spam()

 

python编写一个带参数的装饰器

原文:https://www.cnblogs.com/chaojiyingxiong/p/14847175.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!