Встроенный object
может быть создан, но на нем не может быть установлено никаких атрибутов. (Я бы хотел, чтобы для этой конкретной цели.) У него нет __dict__
для хранения атрибутов.
Я обычно просто делаю это:
class Object(object):
pass
a = Object()
a.somefield = somevalue
Когда я могу, я даю классу Object
более значимое имя, в зависимости от того, какие данные я в него помещаю.
Некоторые люди делают разные вещи, когда используют подкласс dict
, который позволяет доступ к атрибутам для доступа к ключам. (d.key
вместо d['key']
)
Редактировать : Для добавления к вашему вопросу хорошо использовать setattr
. Вы просто не можете использовать setattr
на object()
экземплярах.
params = ['attr1', 'attr2', 'attr3']
for p in params:
setattr(obj.a, p, value)