[python]代码库
# 装饰器是一个高阶函数
def copy_properties(src):
def _copy(dst):
dst.__name__ = src.__name__
dst.__doc__ = src.__doc__
dst.__qualname__ = src.__qualname__
return dst
return _copy
def logger(fn):
@copy_properties(fn) # @_copy wrapper = _copy(wrapper)
def wrapper(*args,**kwargs):
"""this is wrapper"""
print('before')
ret = fn(*args,**kwargs)
print('after')
return ret
# copy_properties(fn, wrapper)
return wrapper
@logger
def add(x,y):
"""
This is a function of addition
return int
x int
y int
"""
a = x + y
return a
print(add.__doc__,add.__name__,add.__qualname__,sep='\n')
# print(help(add))