Функции, возвращающие результат: return
Оператор return возвращает вычисленный функцией результат туда, откуда она вызвана. С его помощью из небольших функций строим сложные программы.
Список тем (9 из 11)
Глава 1. Основы Python
Глава 2. Списки и строки
Глава 3. Функции и модули
Глава 4. Работа с файлами
Функция не обязана только выводить на экран, она может и возвращать результат вычислений. Для этого служит оператор return: внутри def square(x): пишем return x * x. При вызове y = square(5) результат 25 записывается в переменную y. Результат можно использовать в других вычислениях: print(square(3) + square(4)).
Как только выполняется return, функция завершает работу, а строки после него не выполняются. Поэтому он удобен внутри условных операторов: в def sign(x): пишем if x > 0: return 1, if x < 0: return -1, затем return 0. Если return нет, функция возвращает None (отсутствие значения).
Можно вернуть несколько значений через запятую: return a + b, a * b; принимаем их как s, p = calc(3, 4). Логические функции возвращают True или False, например def is_even(n): return n % 2 == 0. Такую функцию можно сразу писать в условии: if is_even(8):.
Функции могут вызывать друг друга. Например, внутри max3(a, b, c) можно использовать max2(a, b). Разбиение сложной задачи на небольшие функции делает программу понятнее и позволяет проверять каждую часть отдельно. Не забывайте писать короткий комментарий, описывающий назначение функции.
Главное
returnвозвращает результат в место вызова и завершает функцию.- Без
returnфункция возвращаетNone. - Функция может вернуть
True/Falseи использоваться в условии. - Функции вызывают друг друга, разбивая сложную задачу на части.
Практические задания
- Пусть
def cube(x):возвращает куб числа; проверьте результатprint(cube(3)). - Напишите функцию
bigger(a, b), возвращающую большее из двух чисел с помощьюif, и используйте её для поиска наибольшего из трёх чисел. - Напишите функцию
is_prime(n): она возвращаетTrue, если n — простое число, иначеFalse(проверьте делимость на числа от 2 до n-1).
Вопросы для закрепления
Проверьте себя: сначала подумайте, потом откройте ответ.
1Чем отличаются `print()` и `return`?Показать ответСкрыть ответ
`print()` выводит значение на экран, а `return` возвращает его в программу, и результат можно сохранить в переменную и использовать дальше.2Выполняются ли строки, записанные после `return`?Показать ответСкрыть ответ
Нет, `return` сразу завершает функцию.
Войдите на сайт
Слайды и PDF доступны только зарегистрированным пользователям: и просмотр, и скачивание. Вход бесплатный.
Войдите на сайт
Слайды и PDF доступны только зарегистрированным пользователям: и просмотр, и скачивание. Вход бесплатный.
Пройдено тем: 0 из 11
Войти и отметить