没有彻底理解,但是根据代码简单的看了下,还可以,就相当于一个参数传递的过程。
结果如下:
import functools
def log_with_param(text):
def decorator(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
print('call %s():' % func.__name__)
print('args = {}'.format(*args))
print('log_param = {}'.format(text))
return func(*args, **kwargs)
return wrapper
return decorator
@log_with_param('halo bingji')
def test_with_param(p):
print(test_with_param.__name__)
test_with_param('param')
网友评论