Я хотел бы создать тривиальный одноразовый объект Python для хранения некоторых параметров командной строки. Я хотел бы сделать что-то вроде этого:
options = ??????
options.VERBOSE = True
options.IGNORE_WARNINGS = False
# Then, elsewhere in the code...
if options.VERBOSE:
...
Конечно, я мог бы использовать словарь, но options.VERBOSE
более читабелен и его легче набирать, чем options['VERBOSE']
.
Я думал , что я смогу сделать
options = object()
, поскольку object
является базовым типом всех объектов класса и, следовательно, должен быть чем-то вроде класса без атрибутов. Но это не работает, потому что объект, созданный с использованием object()
, не имеет члена __dict__
, и поэтому к нему нельзя добавить атрибуты:
options.VERBOSE = True
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'object' object has no attribute 'VERBOSE'
Какой самый простой «питонный» способ создания объекта, который можно использовать таким образом, желательно без необходимости создания дополнительного вспомогательного класса?