Почему Python отказался от постоянных ссылок?

Примечание: я не говорю о предотвращении повторного связывания переменной. Я говорю о предотвращении модификации памяти, на которую ссылается переменная, и любой памяти, к которой можно получить доступ оттуда, следуя вложенным контейнерам.

У меня большая структура данных, и я хочу предоставить ее другим модулям только для чтения. Единственный способ сделать это в Python - глубоко скопировать отдельные части, которые я хотел бы раскрыть - в моем случае это непомерно дорого.

Я уверен, что это очень распространенная проблема, и похоже, что постоянная ссылка быть идеальным решением. Но я, должно быть, чего-то упускаю. Возможно, постоянные ссылки сложно реализовать в Python. Возможно, они не совсем делают то, что я думаю.

Любые идеи будут оценены.


Хотя ответы полезны, я не видел ни одной причины, по которой const было бы трудно реализовать или неработоспособно в Python. Я полагаю, что "непитонический" тоже может считаться уважительной причиной, но так ли это на самом деле? Python действительно выполняет скремблирование переменных частного экземпляра (начиная с __ ), чтобы избежать случайных ошибок, а const , похоже, не сильно отличается по духу.


РЕДАКТИРОВАТЬ: Я просто предложил очень скромное вознаграждение. Я ищу более подробную информацию о том, почему Python оказался без const. Я подозреваю, что причина в том, что очень сложно реализовать идеальную работу; Я хочу понять, почему это так сложно.

25
задан max 20 November 2010 в 11:01
поделиться