Справочник по Python · модуль 6 · функции и модули
Глава 6.1
Функции abs(),
max() и min()
Python уже умеет находить модуль числа, наибольшее и наименьшее значение. Нужно передать функции данные и сохранить или вывести полученный результат.
- Категория
- Встроенные функции
- Уровень
- Начальный
- Связанные темы
- Числа, переменные, списки
- Зачем это знать
- Получать расстояние и находить крайние значения
§1Как читается вызов функции
Функция получает данные, выполняет действие и даёт результат. Имя функции пишется перед круглыми скобками, а данные передаются внутри них.
имя_функции(данные) → результат abs(-5) → 5 max(3, 7, 2) → 7 min(3, 7, 2) → 2
Результат можно сразу передать в print() или записать в переменную и использовать позже.
§2Абсолютное значение: abs()
abs() возвращает абсолютное значение числа — его величину без знака. Для положительного числа значение не меняется, а для отрицательного знак минус исчезает.
print(abs(-5)) print(abs(3)) print(abs(-7.2))
5 3 7.2
Функция принимает ровно одно число: целое int или дробное float.
§3Разница и расстояние
Обычное вычитание зависит от порядка чисел. Если нужна только величина разницы, результат вычитания передают в abs().
first = 4 second = 10 difference = abs(first - second) print(difference)
6
Тот же приём применяют для расстояния между точками на числовой прямой, разницы температур и отклонения от нужного значения.
§4Наибольшее значение: max()
max() сравнивает переданные значения и возвращает наибольшее.
highest = max(3, 7, 2, 9) print(highest)
9
§5Наименьшее значение: min()
min() работает так же, но возвращает наименьшее значение.
lowest = min(3, 7, 2, 9) print(lowest)
2
§6Несколько значений и список
max() и min() можно передать несколько отдельных значений или одну коллекцию. Со списками вы познакомитесь подробно позже; пока достаточно увидеть общий принцип.
print(max(3, 7, 2, 9)) numbers = [3, 7, 2, 9] print(min(numbers))
9 2
Либо передайте несколько отдельных значений, либо одну коллекцию. Функция должна получить данные, которые можно сравнить между собой.
§7Работа со строками
max() и min() умеют сравнивать символы и строки. Python использует порядок символов в таблице Unicode, поэтому регистр и алфавит влияют на результат.
print(max("python")) print(min("python"))
y h
Для начала используйте эти функции с числами. Сравнение строк станет понятнее после отдельной темы о строках.
§8Частые ошибки
| Что написано | Что произойдёт | Как правильно |
|---|---|---|
abs(-5, 3) | TypeError: функция получила два аргумента | abs(-5) |
abs("-5") | TypeError: строка не является числом | abs(-5) или сначала преобразовать ввод в число |
max() | TypeError: сравнивать нечего | передать хотя бы одно значение |
max(10, "20") | TypeError: число и строку нельзя сравнить | использовать значения одного сравнимого типа |
largest = max | в переменную попадёт сама функция, а не результат | largest = max(3, 7) |
§9Проверьте себя
Что вернёт abs(3 - 10)?
Число 7: сначала получится -7, затем abs() уберёт знак.
Чем отличаются max() и min()?
max() возвращает наибольшее значение, а min() — наименьшее.
Можно ли передать max() список?
Да. Например, max([3, 7, 2]) вернёт 7.
§10Шпаргалка
abs(-8) # 8max(4, 9, 2) # 9min(4, 9, 2) # 2abs(a - b)Итог главы
abs() возвращает абсолютное значение одного числа. max() и min() выбирают наибольшее и наименьшее из сравнимых значений. Результат любой функции можно вывести, сохранить в переменную или передать в другое выражение.