Python: динамическое добавление полей в объекты

мне интересно, можно ли динамически добавлять поля в объекты. Например, я хочу иметь возможность добавить что-то вроде:

user = object()
user.first_name = 'John'
user.last_name = 'Smith'

когда я выполняю это в интерпретаторе командной строки Python, я получаю:

AttributeError: 'object' object has no attribute 'first_name'

есть идеи?

2 ответов


попробуйте это:

class Object:
    pass

obj = Object()
obj.x = 5

вы не можете назначить атрибуты object такие экземпляры. Производные от object, и использовать экземпляр этого класса.