使用Python装饰器实现修复的方法-创新互联

使用Python装饰器实现修复的方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

成都创新互联公司主要从事成都网站建设、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务惠山,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

Python装饰器(decorator)在实现的时候,被装饰后的函数其实已经是另外一个函数了(函数名等函数属性会发生改变),

为了不影响,Python的functools包中提供了一个叫wraps的decorator来消除这样的副作用。写一个decorator的时候,最好在实现之前加上functools的wrap,

它能保留原有函数的名称和docstring。

未加@wraps的时候:

from functools import wraps


def wrapper(func):
  # @wraps(func)
  def inner(*args, **kwargs):
    print("装饰器工作中...")
    func(*args, **kwargs)
  return inner
@wrapper
def f1(arg):
  """
  这是一个测试装饰器修复技术的函数
  :param arg: 随便传
  :return: 没有
  """
  print(arg)

f1('呵呵')
print(f1.__name__,f1.__doc__)

当前名称:使用Python装饰器实现修复的方法-创新互联
文章网址:http://bzwzjz.com/article/coohps.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站设计 高端网站设计 成都定制网站建设 网站设计 定制网站设计 重庆网站设计 成都网站建设 做网站设计 企业网站建设 攀枝花网站设计 高端网站设计 手机网站建设套餐 定制网站制作 营销型网站建设 手机网站制作 企业网站建设 网站建设改版 网站设计公司 高端网站建设 成都网站建设 专业网站设计 移动手机网站制作