Примечание: я не говорю о предотвращении повторного связывания переменной. Я говорю о предотвращении модификации памяти, на которую ссылается переменная, и любой памяти, к которой можно получить доступ оттуда, следуя вложенным контейнерам.
У меня большая структура данных, и я хочу предоставить ее другим модулям только для чтения. Единственный способ сделать это в Python - глубоко скопировать отдельные части, которые я хотел бы раскрыть - в моем случае это непомерно дорого.
Я уверен, что это очень распространенная проблема, и похоже, что постоянная ссылка быть идеальным решением. Но я, должно быть, чего-то упускаю. Возможно, постоянные ссылки сложно реализовать в Python. Возможно, они не совсем делают то, что я думаю.
Любые идеи будут оценены.
Хотя ответы полезны, я не видел ни одной причины, по которой const было бы трудно реализовать или неработоспособно в Python. Я полагаю, что "непитонический" тоже может считаться уважительной причиной, но так ли это на самом деле? Python действительно выполняет скремблирование переменных частного экземпляра (начиная с __
), чтобы избежать случайных ошибок, а const
, похоже, не сильно отличается по духу.
РЕДАКТИРОВАТЬ: Я просто предложил очень скромное вознаграждение. Я ищу более подробную информацию о том, почему Python оказался без const. Я подозреваю, что причина в том, что очень сложно реализовать идеальную работу; Я хочу понять, почему это так сложно.