为什么要创建一个空类,然后实例化它并设置一些属性?

时间:2016-02-11 03:27:30

标签: python class instance instantiation instance-variables

html2txt包含以下代码:

class Storage: pass
options = Storage()
options.google_doc = False
options.ul_item_mark = '*'

我之前没见过这样的做法。这种方法在__init__()中设置属性的好处/用途是什么,甚至是必要的类?

2 个答案:

答案 0 :(得分:4)

假设您要存储一些命名数据的集合。您可以使用dict,但您喜欢类对象中虚线属性的外观。只需创建最无聊的类,并使用python的本机属性赋值来完成这一操作。这通常是一个美学问题。

答案 1 :(得分:1)

如果您提前知道属性,则可以使用namedtuples来实现此类功能。

来自python docs

EmployeeRecord = namedtuple('EmployeeRecord', 'name, age, title, department, paygrade')