Python: Именование переменных
greeting служит примером простого и понятного имени переменной. Но часто имен вроде name, email или price оказывается недостаточно. Например, нужно описать имя пользователя, общее количество заказов, максимальную длину сообщения. Такие имена уже состоят из нескольких слов. Как в таком случае будет выглядеть имя переменной?
В разных языках программирования используются разные стили именования. От этого зависит, как будет выглядеть имя переменной из нескольких слов. Например, вот как можно записать переменную, которая хранит максимальную длину сообщения:
maxmessagelengthmaxMessageLengthmax-message-lengthmax_message_length
Основные стили
Вот три популярных подхода к написанию составных имен:
-
kebab-case: слова разделяются дефисом:
max-message-length.В Python не работает, так как дефис (-) воспринимается как оператор вычитания.
-
snake_case: слова разделяются подчеркиванием:
max_message_length.Это стандарт для Python.
-
CamelCase (или UpperCamelCase): каждое слово с заглавной буквы, без разделителей:
maxMessageLength.
Как правильно в Python
user_name = "Daenerys"
max_length = 280
total_orders_count = 17- Все буквы строчные
- Слова разделяются символом подчеркивания
Как не надо
Не стоит включать тип данных в имя переменной. Такие имена хуже читаются и быстро устаревают. Например, user_name_string или messages_number описывают не смысл переменной, а ее техническую реализацию.
Имя должно отвечать на вопрос "что хранится?", а не "какого это типа?". Поэтому лучше писать user_name вместо user_name_string и messages_count вместо messages_number.
Задание
- Создайте две переменные: количество товаров в заказе и цена одного товара. Используйте snake_case. Как вы назовете переменные — на ваше усмотрение, тесты это не проверяют.
- Запишите в первую переменную число
20, во вторую —100. - Вычислите итоговую стоимость заказа.
- Выведите результат на экран.
Полезное
Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект
Если вы зашли в тупик, то самое время поговорить с нашим асситентом Тота во вкладке "ИИ-помощник":
Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.
Это нормально 🙆, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи. В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.
Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в обратной связи нашего сообщества
Ваше упражнение проверяется по этим тестам
import runpy
def test(capsys):
expected = "2000"
runpy.run_module('solution')
out, _ = capsys.readouterr()
assert out.strip() == expectedРешение учителя откроется через:
20:00
