本来想在第二层或者第三层里面用逻辑判断看怎么实现的
奈何一直报错,可能现在理解还不够深吧
代码如下:
from functools import wraps
def log(input):
button = isinstance(input, str)
if button:
def decorator(f):
@wraps(f)
def wrapper(*args):
print('%s: %s' % (input, f.__name__))
r = f(*args)
return r
return wrapper
return decorator
else:
@wraps(input)
print("begin call: %s" % (input.__name__))
r = input(*args)
print("end call: %s" % (input.__name__))
#测试
@log('execute')
def fa(a):
print(a)
fa(111111)
@log
def fb(a):
fb(22222)
Sign in to make a reply
Tb要更加努力
本来想在第二层或者第三层里面用逻辑判断看怎么实现的
奈何一直报错,可能现在理解还不够深吧
代码如下:
from functools import wraps
def log(input):
button = isinstance(input, str)
if button:
def decorator(f):
@wraps(f)
def wrapper(*args):
print('%s: %s' % (input, f.__name__))
r = f(*args)
return r
return wrapper
return decorator
else:
@wraps(input)
def wrapper(*args):
print("begin call: %s" % (input.__name__))
r = input(*args)
print("end call: %s" % (input.__name__))
return r
return wrapper
#测试
@log('execute')
def fa(a):
print(a)
fa(111111)
@log
def fb(a):
print(a)
fb(22222)