分享

attrs-在类定义中置换__init__,__eq__,__repr__等样板的python库

 CNStudent 2020-12-11

attrs是一个Python库,它会使得你编写python类时更加轻松。

它的主要目的是帮助您编写简洁而正确的软件,而又不会减慢代码的运行速度。

为此,它为您提供了一个类装饰器,以及一种以声明方式定义该类的属性的方法:

后声明你的属性attrs为您提供:

  • 简要明确地概述了类的属性,

  • 一个漂亮的可读性好的__repr__,

  • 一套完整的比较方法(相等性和排序),

  • 一个初始化器,

  • 以及更多,

无需一次又一次编写沉闷的样板代码,也没有运行时性能损失。

在Python 3.6和更高版本上,您通常甚至可以attr.ib()通过使用类型注释来删除对它们的调用。

这使您能够在代码中使用具有实际类型的实际类,而不会混淆tuples或使其表现混乱 namedtuple。反过来,这鼓励您编写能做一件事的小类。不再因为执行__init__等带来痛苦而违反了单一责任原则。

项目信息

attrs是根据MIT许可发布的,其文档位于Read Docs,GitHub上的代码以及PyPI的最新版本中。它已在Python 2.7、3.5+和PyPy上经过严格测试。

attrs 对于企业

作为Tidelift订阅的一部分提供。

attrsTidelift的维护者以及数以千计的其他软件包正在与Tidelift合作,为您用于构建应用程序的开源软件包提供商业支持和维护。节省时间,降低风险并改善代码运行状况,同时向使用的确切软件包的维护者付款。 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多