装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。
代码来自:https://github.com/shanglianlm0525/CvPytorch
def logger_info(f):
@functools.wraps(f)
# @wraps(f)
def info(*args, **kwargs):
logger.info('Begin to init {} parameter. '.format(f.__qualname__.split('.')[0]))
rst = f(*args, **kwargs)
logger.info('init {} parameter done.'.format(f.__qualname__.split('.')[0]))
return rst
return info
class BigCutAlg(object):
@logger_info
def __init__(self, base_path=None, cfg=None):
super(BigCutAlg, self).__init__()
pass