Почему я не могу выполнить действие, подобное следующему:
class Test(object):
def __init__(self):
self = 5
t = Test()
print t
Я ожидаю, что он напечатает 5
, поскольку мы перезаписываем экземпляр с ним, но вместо этого он ничего не делает. Даже не выдает ошибку. Просто игнорирует назначение.
Я понимаю, что вряд ли найдутся ситуации, когда вы захотите это сделать, но по-прежнему кажется странным, что вы не можете.
Обновление: Теперь я понимаю, почему это не работает, но мне все равно хотелось бы узнать, есть ли способ заменить экземпляр из экземпляра.