Замените один объект Python другим вездеPython

Программы на Python
Anonymous
Замените один объект Python другим везде

Сообщение Anonymous »

Как заменить объект Python везде другим объектом?

У меня есть два класса: SimpleObject и FancyObject. Я создал SimpleObject и имею на него несколько ссылок. Теперь я хотел бы создать FancyObject и сделать так, чтобы все эти ссылки указывали на новый объект.

Код: Выделить всё

a = SimpleObject()
some_list.append(a)
b = FancyObject()
— это не то, что мне нужно, он просто меняет то, на что указывает. Я читал, что следующее будет работать, но это не так. Я получаю сообщение об ошибке «Атрибут __dict__ недоступен для записи»:

Код: Выделить всё

a.__dict__ = b.__dict__
Мне нужен эквивалент (псевдо-C):

Код: Выделить всё

*a = *b
Я знаю, что это хакерство, но есть ли способ это сделать?

Подробнее здесь: https://stackoverflow.com/questions/178 ... everywhere

Вернуться в «Python»