- 可以打印出无返回值的函数:
def log(func):
def dec():
print('begin call %s():' % func.__name__)
result = func()
print('end call %s():' % func.__name__)
return result
return dec
@log
def f1():
print('2018-11-8')
f1()
但是该段代码无法正确输出带有返回值的函数,试着把return改为print,如下:
2、
def lof(func):
def dec(*args,**kw):
print('call begin %s():' % func.__name__)
result=func(*args,**kw)
print(result)
print('call end')
return dec
@lof
def fast(x,y):
return x + y
fast(1,5)
输出如下:
call begin fast():
6
call end