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

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

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

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

Автосервис

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

result = round(10.25, 0)  # 10.0

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

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

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

result = round(10.25)  # 10

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

# округление до одного знака после запятой
result = round(10.25, 1)  # 10.2
round(10.25, 1)  →  аргументы: 10.25, 1       →  10.2
round(10.25)     →  аргументы: 10.25, (None)  →  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 ──┐
fuel_price ──────────────────┘                │
                                              ├──→ per_person
passengers ───────────────────────────────────┘

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

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