昆玉市网站建设_网站建设公司_后端开发_seo优化
2025/12/26 0:26:41 网站建设 项目流程

python @wrap装饰器保留原函数__name__和__doc__属性

不使用@wrap装饰器

def print_log(fn):def wrap(*args, **kwargs):'''这是包装函数:param args::param kwargs::return:'''print("before execute function")result = fn(*args, **kwargs)print("after execute function")return resultreturn wrap@print_log
def say_hello():'''这是say hello 函数:return:'''print('hello')if __name__ == '__main__':print(say_hello.__name__)print(say_hello.__doc__)

image

使用@wrap注解

from functools import wrapsdef print_log(fn):@wraps(fn)def wrap(*args, **kwargs):'''这是包装函数:param args::param kwargs::return:'''print("before execute function")result = fn(*args, **kwargs)print("after execute function")return resultreturn wrap@print_log
def say_hello():'''这是say hello 函数:return:'''print('hello')if __name__ == '__main__':print(say_hello.__name__)print(say_hello.__doc__)

image

 

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询