Именование

Стиль именования функций в Python такой же, как и стиль именования переменных: snake_case. Но при выборе самих слов есть важное отличие.

Функция — действие, вызов функции всегда подобен указанию «сходи», «возьми», «напечатай», «положи» и так далее. Вспомните, какие функции были в предыдущих уроках:

  • show_date («показать дату»)
  • sub (subtract — «вычесть»)
  • print («напечатать»)
  • round («округлить»)

Переменная — сущность, поэтому мы используем существительные:

  • child
  • result
  • euros

Берите на вооружение следующую структуру: функция — глагол, переменная — существительное.

(У нас также была функция parent_for, и это имя — не глагол. Можно было бы назвать её get_parent_for, но имена типа parent_for, child_of, price_at — общепринятые формы. «Функция — глагол» — не железное правило, но почти всегда лучше придерживаться его).

В уроке про переменные мы просили вас придумать название переменной и записать в блокноте или отправить себе на почту. Найдите это название и посмотрите на него свежим взглядом: оно понятное? Описывает суть однозначно или требует вникания?

Жизнь программиста наполнена такими моментами: открыть старый код и попытаться понять его. Будьте добры к будущему себе и к коллегам, давайте переменным и функциям понятные названия.

Задание

В Python из языка Си перекочевал ещё один способ форматирования (интерполяции) строк (в дополнение к .format(), который мы рассматривали ранее в разделе про интерполяцию строк). Оператор форматирования % coздаёт строку на основе шаблона и данных:

result = 'Today is %s %d' % ('February', 8)
print(result)
Today is February 8

Слева от оператора % находится строка-шаблон, в которой кроме самого текста могут присутствовать специальные заполнители. Это «заглушки» для информации, которая передаётся аргументом справа. %s означает «заглушка для строки», %d — для числа. Поэтому справа находится пара значений — строка и число (значения записаны в общих скобках через запятую, это так называемый кортеж — с кортежами мы познакомимся позже).

Порядок и типы значений должны совпадать с порядком и типами заглушек.

При выводе дат иногда требуется фиксировать количество цифр, скажем, всегда писать нули перед числом если число меньше 10. % позволяет решить эту задачу:

result = 'Today is %s %02d' % ('February', 8)
print(result)
Today is February 08

%02d — сделать две цифры и заполнить нулями оставшееся пространство. %03d — три цифры, и так далее:

result = 'Today is %s %04d' % ('February', 8)
print(result)
Today is February 0008

Реализуйте функцию get_formatted_birthday, которая принимает на вход три параметра: день, месяц и год рождения, а возвращает их строкой в отформатированном виде, например: 30-02-1953.

День и месяц нужно форматировать так, чтобы при необходимости добавлялся 0 слева. Например, если в качестве месяца пришла цифра 7, то в выходной строке она должна быть представлена как 07.


Советы


Нашли ошибку? Есть что добавить? Пулреквесты приветствуютсяhttps://github.com/hexlet-basics

Упражнение доступно только авторизованным пользователям.

Пожалуйста, авторизуйтесь с помощью учётной записи GitHub, это необходимо для отслеживания прогресса выполнения уроков. Если у вас ещё нет учётной записи, то сейчас самое время создать аккаунт на GitHub.