Python: Константы

Иногда в программе встречаются значения, которые никогда не должны меняться. Например:

  • Математическая константа π (пи).
  • Курс доллара на определенную дату.
  • Фиксированная комиссия сервиса.

Такие значения называются константами и их принято отличать от обычных переменных, чтобы не возникало желания их менять.

Пример: число π

PI = 3.14
print(PI)  # => 3.14

Здесь PI является константой, которая хранит значение числа π. Смысл константы в том, что ее значение не должно меняться в ходе работы программы.

Чем отличается константа от переменной?

Концепт констант распространен в большинстве языков программирования. Там константа часто является отдельной сущностью языка, значение которой нельзя изменить. В Python констант как отдельного понятия в языке нет, но есть соглашение, что если переменная записана буквами в верхнем регистре, то это константа.

PI = 3.14
PI = 3.14159  #  Технически возможно, но так делать не принято

Но по соглашению, если переменная названа заглавными буквами, она считается константой, и менять ее нельзя.

Как оформляются константы

  • Все буквы заглавные
  • Слова разделяются символом подчеркивания _
  • Стиль называется UPPER_SNAKE_CASE (еще его называют SCREAMING_SNAKE_CASE)
PI = 3.14
MAX_USERS = 100
DEFAULT_TIMEOUT = 30

Зачем нужны константы?

Константы делают код понятнее и безопаснее. Они помогают сразу увидеть, какие значения в программе считаются фиксированными и не должны меняться. Это особенно важно при работе с такими данными, как математические и физические постоянные, настройки по умолчанию или фиксированные лимиты. Использование констант снижает риск ошибок: по имени переменной сразу понятно, что перед нами константа, и менять ее не следует. Кроме того, если значение все же нужно будет изменить (например, в настройках), достаточно поменять его в одном месте, и изменение автоматически подхватится во всей программе.

Задание

Создайте константу MAX_LOGIN_ATTEMPTS и запишите в нее число 3 — максимальное количество попыток входа в систему.

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются