Discuss / Python / 将两个思路综合一下

将两个思路综合一下

Topic source

一、在函数运行前后打印日志begin/end calling 二、log既可以接受有参,又可以接受无参

def log(text): if len(text)== 0: def decorator(fun_in): def wrapper(arg,kw): print(f"begin calling {fun_in.name}():") fun_in(*arg,kw) print(f"end calling {fun_in.name}") return return wrapper return decorator else: def decorator(fun_in): def wrapper(arg,**kw): print(f" {text[:1]} {fun_in.name}():") fun_in(arg,**kw) print(f"{text[-1:]} {fun_in.name}():") return return wrapper return decorator

@log("bebing calling ","end calling")

def now(): print("2018-07-10") -.-III当然,前提是得按照设计好的输入,不然就瞎几把打印了,而且输出的效果不好,打印出来还是元组格式,如果是确定输入beging call、end call的话打印text[0]/[1]就行了,但text[:1][-1:]好处是不会报错,有更好的实现方法请多多指教,学习一个。


  • 1

Reply