/
Программирование
/
Курс Python
/

Параметры по умолчанию

Python: Параметры по умолчанию

Некоторые функции в Python имеют необязательные параметры. Это значит, что для них заранее задано значение по умолчанию, и при вызове можно этот параметр не указывать.

Автосервис

Рассмотрим встроенную функцию round(), которая округляет число:

result = round(10.25, 0)  # 10.0

Мы передали в нее два значения:

  • Число, которое нужно округлить.
  • Точность округления, 0 означает, что округление будет до целого числа.

Так как чаще всего нужно именно округление до целого, создатели функции round() сделали второй параметр необязательным и задали ему значение по умолчанию 0. Поэтому результат будет тем же, даже если второй параметр не указывать:

result = round(10.25)  # 10.0

Если нужна другая точность, то ее можно указать явно:

# округление до одного знака после запятой
result = round(10.25, 1)  # 10.2
round(10.25, 1)  →  аргументы: 10.25, 1   →  10.3
round(10.25)     →  аргументы: 10.25, (0)  →  10
                                      └── значение по умолчанию

Количество необязательных параметров зависит от конкретной функции, но обязательные всегда идут перед необязательными.

Сигнатура функции

У каждой функции есть сигнатура, содержащая описание ее имени, параметров и порядка их использования. Сигнатура помогает понять, какие данные функция ожидает и что будет происходить, если параметры не указаны.

Посмотрим на документацию для функции round().

round(number, ndigits=None)

Это и есть сигнатура. Функция называется round. Параметр number обязателен — он принимает число для округления. Параметр ndigits имеет значение по умолчанию None, то есть необязателен; если его не указать, округление произойдет до целого числа.

Как работать с новыми функциями

Когда вы встречаете новую функцию, можно использовать простой паттерн:

  1. Открыть документацию и найти сигнатуру функции.
  2. Посмотреть примеры использования.
  3. Перейти в интерактивную оболочку Python (REPL) и попробовать вызвать функцию с разными аргументами.

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

Задание

В коде заданы данные об автомобильной поездке: расстояние, расход топлива, цена топлива и количество пассажиров.

Вычислите и выведите на экран три значения:

  1. Объем топлива в литрах, необходимый для поездки. Округлите до одного знака после запятой.
  2. Общую стоимость поездки в рублях. Округлите до двух знаков после запятой.
  3. Стоимость поездки для каждого пассажира в рублях. Округлите до целого числа, вызвав round() без второго аргумента.

Каждое значение выводится на отдельной строке.

distance ──────┐
               ├──→ fuel ──────┐
fuel_consumption ──┘           ├──→ trip_cost ──────┐
                               │                    ├──→ per_person
fuel_price ────────────────────┘                    │
                                                    │
passengers ─────────────────────────────────────────┘

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

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