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