日志装饰器
def say_hello(country):
def wrapper(func):
def deco(*args, **kwargs):
if country == 'china':
print('你好!')
elif country == 'america':
print('hello')
else:
return
func(*args, **kwargs)
return deco
return wrapper
@say_hello('china')
def chinese():
print('我来自中国。')
@say_hello(1)
def america():
print('I am from America.')
america()
print('-'*20)
chinese()
2:
def logd(func):
def warpper(*args, **kwargs):
fun_name = func.__name__
str_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
result = func(*args, **kwargs)
print(f"[{fun_name}] {str_time} {args, kwargs}->{result}")
return result
return warpper
@logd
def demo(a, d):
return a + d
demo(2, 3)