Python 是世界上功能最多且最强大的编程语言之一。使用 Python,你可以编写自己的应用程序,创建游戏、设计算法、甚至编程一个机器人。今天,小U为大家分享三个与Python算法和设计模式相关的工具,希望对大家学习Python有所帮助!
sortedcontainers
在需要排序集合类型之前,Python的标准库是非常好的。即使没有sortedcontainers你也能完成某种需求,但是当你离开它的时候,真正需要排序列表、排序数据集或排序集的时候,您可能就要面临十几种不同的实现,大多数使用C-扩展,没有很好的文档和基准测试。而它用纯Python编写,速度快于C-扩展。
特征
·纯Python
·充分记录
·基准比较(备选方案、运行时、负载因素)
·100%测试覆盖率
·压力测试小时
·性能问题(通常比C实现更快)
·兼容API(与较旧的blist和bintree模块几乎相同)
·特性丰富(例如,在排序的dict:d.key()[-5:]中获取五个最大的键)
·实用设计(例如SortedSet是带有SortedList索引的Python集)
·在Python3.7上开发
·在CPython 2.7、3.2、3.3、3.4、3.5、3.6、3.7和PyPy、Py3上进行测试
Python-patterns
Python-patterns是使用Python实现设计模式的集合。设计模式(Design Patterns)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。通过这个项目,可以让Python程序员很好地熟悉设计模式。
目前项目中已经实现的设计模式有:
·3-tier: 三层架构
·abstract_factory:抽象工厂
·adapter:适配器模式
·borg:单例模式
·bridge:桥接模式
·builder:建造者模式
·chain:链模式
·command:命令模式
·composite:组合模式
·decorator:装饰模式
·facade:外观模式
·iterator:迭代器模式
Algorithms
Algorithms一个用Python实现的算法和数据结构库。这个主要目的是成为一种教育工具。您可能不应该在生产中使用这些算法,而是选择这些算法的优化版本,这些算法可以在其他地方找到。
以上就是小U今天和大家分享的【Python实现算法和设计模式的3个工具】