Python能打印日志的语法装饰器
Posted 兔子爱读书
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python能打印日志的语法装饰器相关的知识,希望对你有一定的参考价值。
定义一个打印日志的代码:
def log(func):
import re
def wrapper(*args, **kwargs):
now_time = str(time.strftime('%Y-%m-%d %X', time.localtime()))
print('%s %s called' % (now_time, func.__name__))
print('Comments:%s' % func.__doc__)
print('%s returns:' % func.__name__)
result = func(*args, **kwargs)
print(result)
return result
return wrapper
调用它:
@log
def get_set_key(data):
'''构建一个关键词集合,用于作为共现矩阵的首行和首列'''
all_key = '/'.join(data)
key_list = all_key.split('/')
set_key_list = list(filter(lambda x: x != '', key_list))
return list(set(set_key_list))
调用方式就是写一个@log在函数定义前。@log 是Python特有的一种函数简写方式,相当于factorial=log(factorial),将factorial()函数作为log函数的参数进行调用。
我们写的log函数是一个装饰器。装饰器的本质是在执行原有函数(被装饰的函数)的同时,再加上一些额外的功能。
以上是关于Python能打印日志的语法装饰器的主要内容,如果未能解决你的问题,请参考以下文章