import functools
def log(*text):
def decorator(func):
@functools.wraps(func)
def wrapper(*args,**kw):
print('begin call')
if len(text) != 0:
for n in text:
print(n,end='')
print(' %s()' %func.__name__)
else:
print('call %s()' %func.__name__)
print('end call')
return func(*args,**kw)
return wrapper
return decorator
@log()
def f():
pass
f()
print()
@log('execute')
def h():
h()
Sign in to make a reply
奥斯卡
import functools
def log(*text):
def decorator(func):
@functools.wraps(func)
def wrapper(*args,**kw):
print('begin call')
if len(text) != 0:
for n in text:
print(n,end='')
print(' %s()' %func.__name__)
else:
print('call %s()' %func.__name__)
print('end call')
return func(*args,**kw)
return wrapper
return decorator
@log()
def f():
pass
f()
print()
@log('execute')
def h():
pass
h()