原本写了一个函数:
def say_hello(data): print("hello {0}" .format(data))
领导要求在每个函数打印的时候加上说明:“debug : xxx say_hello()”
方法一:
粗暴一点的方法是直接拿出来写一个函数,每次都调用它:这种方法也可以实现,要是有100个函数要添加呢,万一又有一部分函数不需要了呢?维护起来有点恶心
def func(fp): print("debug : xxx {0}()" .format(fp.__name__)) def say_goodbay(): func(say_goodbay) print("baybay") say_goodbay()
方法二:使用装饰器,这种方法不改变原代码 *args,**kwargs
def add_values(func): def wrapper(*args,**kwargs): print("debug : xxx {0}()" .format(func.__name__)) return func(*args,**kwargs) return wrapper @add_values def say_hello(data): print("hello {0}" .format(data)) say_hello('alibaba')