Collectionish是一个纯python库,它扩展了基本的集合数据类型和使用它们的操作。
collectionish的Python项目详细描述
Collectionish是一个纯python库,它扩展了基本的集合数据类型和使用它们的操作。在
入门:
使用pip安装最新的稳定版本:
$ pip install collectionish
关于python版本支持的简要说明:
collectionish可与Python3配合使用,并已通过 Python3.7和3.8。没有计划支持向后兼容 对于Python2或3.5。在
签出文档:
最好签出docs。在那里你会发现详细的 关于collectionish特性的文档和许多 如何使用它们。在
这是什么?在
在扩展内置类型方面,Python是一种很棒的语言 做那些嘎嘎叫的东西。collectionish订阅 认为数据结构的行为属于数据中的 结构和它是更好和更优雅的烘烤行为 而不是使周围的业务逻辑复杂化 更多的wtf时刻和空间让虫子潜入。在
Python自己的collections模块就是一个很好的例子。拿 defaultdict,你见过多少次这样的东西?在
^{pr2}$对比:
fromcollectionsimportdefaultdictpet_dict=defaultdict(list)fortyp,subtypinpets:pet_dict[typ].append(subtyp)
collectionish添加一些额外的集合,如AttyDict(a 直接递归点访问dict)和UniqueTuple(a 记住插入顺序的唯一项的元组)。新收藏 将在足够通用的基础上定期添加 我发现自己在其他项目中重复了这些方法。在
除了数据结构,collectionish还提供了一些 使用数据结构的操作(来自标准python 和collections)类似于递归的getter和setter collectionish.ops。在
原则:
- 足够有用:
- 数据结构的灵感应该来自于我们以前写过或在某个时候需要的东西。
- 足够通用:
- 在合理范围内延长。
- 足够具体: 弄清楚事情是怎么回事。我们的目标不是使成为数据结构或熊猫的替代品 做一切的数据帧。
- 足够直观:
- 类型暗示的工作原理一般应与父类型相同,签名不应过于广泛 数据类型中通常不应缺少不同的、明显的魔术方法或__iter__。
- 文档足够:
- 所有公共结构和操作都应记录在案,并提供最简单的示例,以便我们知道其正确性和 从某些事物的名称来看,它应该是相当明显的。
- 测试过多: 我们尽可能使用优秀的hypothesis库进行测试。我们做医生测试以确保文档正确。
- 项目
标签: