скажем, у меня есть класс, который ведет себя как int к внешнему миру, но на самом деле это изменчивый объект, который занимает фиксированное место в нескольких структурах. если n - мой объект, я могу обновить его сейчас, написав n.update(34)
, но я обнаружил, что всегда хочу написать n = 34
. Я просмотрел http://docs.python.org/reference/datamodel.html, и не вижу ничего похожего на атрибут __assign__ или __value__, который позволил бы мне перехватить оператор =
и позволить мне обновлять мой объект, а не присваивать int переменной n выбросить мой предмет еще лучше, когда изменяемый файл находится внутри кортежа t = (m, n)
, я хотел бы обновить свой изменяемый файл с помощью t[1] = 34
, но Python видит это как попытку изменить неизменяемый объект.
поэтому я предполагаю, что ответ будет, исходя из того, что мало того из этого документа я смог ухватить, что то, что я пытаюсь сделать, не является Pythonic. так что, если я не могу сделать это так, как я хочу, что будет следующей лучшей вещью? так что если кому-то когда-нибудь придется поддерживать мой код, это не будет слишком оскорбительным.