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 — максимальное количество попыток входа в систему.
Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект
Если вы зашли в тупик, то самое время поговорить с нашим асситентом Тота во вкладке "ИИ-помощник":
Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.
Это нормально 🙆, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи. В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.
Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в обратной связи нашего сообщества
Ваше упражнение проверяется по этим тестам
import solution
def test1():
assert solution.MAX_LOGIN_ATTEMPTS == 3Решение учителя откроется через:
20:00
