没有样板代码的属性。
项目描述
attrs 是一个MIT-授权的Python包,具有类装饰器,可以简化实现最常见的属性相关对象协议的工作
>>> import attr
>>> @attr.s
... class C(object):
... x = attr.ib(default=42)
... y = attr.ib(default=attr.Factory(list))
>>> i = C(x=1, y=2)
>>> i
C(x=1, y=2)
>>> i == C(1, 2)
True
>>> i != C(2, 1)
True
>>> attr.asdict(i)
{'y': 2, 'x': 1}
>>> C()
C(x=42, y=[])
>>> C2 = attr.make_class("C2", ["a", "b"])
>>> C2("foo", "bar")
C2(a='foo', b='bar')
(如果您不喜欢玩耍的 attr.s 和 attr.ib,您也可以使用它们的毫不妥协的别名 attr.attributes 和 attr.attr).
您只需指定要处理的属性,attrs 就会为您提供
一个清晰易读的 __repr__,
一个完整的比较方法集,
一个初始化器,
以及更多
无需 再次编写枯燥的样板代码。
这使您能够在代码中使用实际类和实际类型,而不是混淆的 tuple 或令人困惑的 namedtuple。
所以放下无类型的数结构,欢迎一些类进入您的生命!
attrs 的文档位于 Read the Docs,代码在 GitHub 上。它在 Python 2.6、2.7、3.3+ 和 PyPy 上进行了严格的测试。
项目详情
下载文件
下载适用于您平台的应用程序。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。
源代码分发
cylitestblarghblargh-15.3.0.tar.gz (33.8 kB 查看哈希值)
关闭
cylitestblarghblargh-15.3.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1330efa8fd12585830f9fa9f52303745e506ca00a198cf91d7080d5c914d1cf0 |
|
MD5 | 39d9cefc7c757bd35c7cf75c03adba6a |
|
BLAKE2b-256 | ee5d785c5f764c92c9d6f09c4ca2584ba789b3dc21ae6ec61f0f5a29067207f2 |