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.2round(10.25, 1) → аргументы: 10.25, 1 → 10.3
round(10.25) → аргументы: 10.25, (0) → 10
└── значение по умолчаниюКоличество необязательных параметров зависит от конкретной функции, но обязательные всегда идут перед необязательными.
Сигнатура функции
У каждой функции есть сигнатура, содержащая описание ее имени, параметров и порядка их использования. Сигнатура помогает понять, какие данные функция ожидает и что будет происходить, если параметры не указаны.
Посмотрим на документацию для функции round().
round(number, ndigits=None)Это и есть сигнатура. Функция называется round. Параметр number обязателен — он принимает число для округления. Параметр ndigits имеет значение по умолчанию None, то есть необязателен; если его не указать, округление произойдет до целого числа.
Как работать с новыми функциями
Когда вы встречаете новую функцию, можно использовать простой паттерн:
- Открыть документацию и найти сигнатуру функции.
- Посмотреть примеры использования.
- Перейти в интерактивную оболочку Python (REPL) и попробовать вызвать функцию с разными аргументами.
Такой подход помогает быстро разобраться, как именно работает функция, какие у нее обязательные и необязательные параметры и какие результаты она возвращает.
Задание
В коде заданы данные об автомобильной поездке: расстояние, расход топлива, цена топлива и количество пассажиров.
Вычислите и выведите на экран три значения:
- Объем топлива в литрах, необходимый для поездки. Округлите до одного знака после запятой.
- Общую стоимость поездки в рублях. Округлите до двух знаков после запятой.
- Стоимость поездки для каждого пассажира в рублях. Округлите до целого числа, вызвав
round()без второго аргумента.
Каждое значение выводится на отдельной строке.
distance ──────┐
├──→ fuel ──────┐
fuel_consumption ──┘ ├──→ trip_cost ──────┐
│ ├──→ per_person
fuel_price ────────────────────┘ │
│
passengers ─────────────────────────────────────────┘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.2round(10.25, 1) → аргументы: 10.25, 1 → 10.3
round(10.25) → аргументы: 10.25, (0) → 10
└── значение по умолчаниюКоличество необязательных параметров зависит от конкретной функции, но обязательные всегда идут перед необязательными.
Сигнатура функции
У каждой функции есть сигнатура, содержащая описание ее имени, параметров и порядка их использования. Сигнатура помогает понять, какие данные функция ожидает и что будет происходить, если параметры не указаны.
Посмотрим на документацию для функции round().
round(number, ndigits=None)Это и есть сигнатура. Функция называется round. Параметр number обязателен — он принимает число для округления. Параметр ndigits имеет значение по умолчанию None, то есть необязателен; если его не указать, округление произойдет до целого числа.
Как работать с новыми функциями
Когда вы встречаете новую функцию, можно использовать простой паттерн:
- Открыть документацию и найти сигнатуру функции.
- Посмотреть примеры использования.
- Перейти в интерактивную оболочку Python (REPL) и попробовать вызвать функцию с разными аргументами.
Такой подход помогает быстро разобраться, как именно работает функция, какие у нее обязательные и необязательные параметры и какие результаты она возвращает.
Задание
В коде заданы данные об автомобильной поездке: расстояние, расход топлива, цена топлива и количество пассажиров.
Вычислите и выведите на экран три значения:
- Объем топлива в литрах, необходимый для поездки. Округлите до одного знака после запятой.
- Общую стоимость поездки в рублях. Округлите до двух знаков после запятой.
- Стоимость поездки для каждого пассажира в рублях. Округлите до целого числа, вызвав
round()без второго аргумента.
Каждое значение выводится на отдельной строке.
distance ──────┐
├──→ fuel ──────┐
fuel_consumption ──┘ ├──→ trip_cost ──────┐
│ ├──→ per_person
fuel_price ────────────────────┘ │
│
passengers ─────────────────────────────────────────┘Ваше упражнение проверяется по этим тестам
import importlib
def test(capsys):
expected = "37.8\n2426.76\n607"
expect_output(capsys, expected)
def expect_output(capsys, expected):
importlib.import_module('solution')
out, _err = capsys.readouterr()
actual = out.strip('\n')
with capsys.disabled():
print('\n')
print(out)
assert actual == expectedРешение учителя откроется через:
20:00
