对于数据结构的选择

对于数据结构的选择实际上是一件十分Pythonic的事情,虽然条条大路通罗马,但是还是有一些可以参考采纳的Pythonic方法的。

当需要许多相似行为但状态不同的实例时,使用类对象是最好的选择。因为类支持继承而模块不支持继承。但是如果需要保持实例的唯一性,使用模块则是最好的选择,因为不管模块在程序中引用多少次,始终只有一个实例被加载,所以可以把Python的模块理解为单例。

用最简单的方式解决问题。字典、列表和元组往往比模块和类更加简单、简洁和高效。

引用Python创始人Guido的建议:

Quote

不要过度使用数据结构,尽量使用元组而不是对象。尽量使用简单的属性域而不是getter/setter函数。内置数据类型永远是你最好的朋友。尽可能多的使用数字、字符串、元组、列表、集合以及字典。多看看容器库提供的类型,尤其是双端队列。