Константы (constants)
Константы. Неизменяемые значения.
В отличие от некоторых других языков, в Питоне нет возможности объявить неизменяему переменную.
Для обозначения переменных, значения которых не должны меняться существует договорённость именовать их прописными буквами.
Конечно, ничто не препятствует замене значения для имени
Для получения неизменяемых значений в классах иногда целесообразно использовать дескрипторы, в частности property, дозволяющие только чтение.
Начиная с +py3.8 для аннотации стал доступен тип
Для обозначения переменных, значения которых не должны меняться существует договорённость именовать их прописными буквами.
MY_CONSTANT = 'моя «константа»'
Конечно, ничто не препятствует замене значения для имени
MY_CONSTANT
, однако это будет нарушением соглашения.В классах
Для получения неизменяемых значений в классах иногда целесообразно использовать дескрипторы, в частности property, дозволяющие только чтение.
Разметка Final
Начиная с +py3.8 для аннотации стал доступен тип
typing.Final
, и если в проекте используется анализ типов, то анализатор сможет обнаружить замену значений. from typing import Final
MY_CONSTANT: Final = 1
# Переназначить по-прежнему можно, но это заметит статический анализатор типов.
MY_CONSTANT = 2
Синонимы поиска: Константы (constants), final
В разделе «Договорённости»:
cls
self
Скрытые атрибуты классов и модулей
Специализированные, дподчерк, магические методы
На заметку
У нас есть новостная группа в Telegram. Там же можно обсудить интересующие вопросы. Ссылка в самом низу страницы.