python - 什么时候用类,什么时候用字典?

标签 python class dictionary

我正在处理一个有限的“对象”列表,我将在我的小脚本中使用这些对象:

books = [ 
    {'name': 'Book1': 'id', '123', 'text', '.....'},
    {'name': 'Book2': 'id', '123', 'text', '.....'},
    {'name': 'Book3': 'id', '123', 'text', '.....'},
]

为这种类型的书创建一个类是否有意义,还是这样就可以了?

创建类的问题是样板文件会稍微多一些。

最佳答案

既然你只是想存储数据,我建议你使用命名元组。这是一个很好的例子,说明如何 named tuples被使用。

理想情况下,您可以简单地循环遍历书籍列表,然后获取每个列表的值,然后将它们放入一个命名的元组中。然后可以像这样简单地访问它们:

some_book.name

这是一个简短的例子:

>>> from collections import namedtuple
>>> NetworkAddress = namedtuple('NetworkAddress',['hostname','port'])
>>> a = NetworkAddress('www.python.org',80)
>>> a.hostname
'www.python.org'
>>> a.port
80
>>> host, port = a
>>> len(a)
2
>>> type(a)
<class '_ _main_ _.NetworkAddress'>
>>> isinstance(a, tuple)
True
>>>

这将使访问书中的数据变得更加简单,并帮助您确保书中所需的所有数据都存在。

关于python - 什么时候用类,什么时候用字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18945688/

相关文章:

python - 当 Python 中不再显示唯一 ID 时标记大型数据集

class - 在 Scala 中,将对象方法组合为类方法

java - 如何动态传递数据类型(如 int、char、.....)?

c# - 具有重复键的 KeyValuePair

python - 解析文本文件中的文本 block (由空行分隔的 block )

python - 使用 Selenium 和 Python 列出选择选项值

python - 为什么 "not"运算符比 python 中的常规条件更快?

c++ - 调用虚函数的逻辑不清晰(或者是方法隐藏?)

Python - 比较两个列表以查找计数

Python 将 Counter 附加到 Counter,就像 Python 字典更新一样