Методический материал: оператор return в Python
- Что такое return
return — оператор, который возвращает результат работы функции.
С его помощью функция может передать значение наружу.
Общий синтаксис:
def имя_функции():
return значение
⸻
- Зачем нужен return
Без return функция просто выполняет действия.
С return функция может:
- возвращать вычисления;
- передавать данные в другую часть программы;
- использовать результат повторно.
⸻
Пример без return
def add():
result = 5 + 3
print(result)
add()
Результат:
8
Проблема:
Число только выводится на экран.
Использовать его дальше нельзя.
Например:
x = add()
print(x)
Результат:
8
None
Почему None?
Потому что функция ничего не вернула.
⸻
Пример с return
def add():
result = 5 + 3
return result
x = add()
print(x)
Результат:
8
Теперь значение можно сохранить в переменную.
⸻
- Как работает return
Когда Python встречает:
return
происходит:
- выполнение функции останавливается;
- значение возвращается наружу;
- оставшийся код функции не выполняется.
⸻
Пример
def test():
print("Начало")
return
print("Конец")
test()
Результат:
Начало
Строка:
print("Конец")
не выполнится.
⸻
- Возврат одного значения
Самый частый вариант.
def square(number):
return number * number
result = square(4)
print(result)
Результат:
16
⸻
Разбор
Функция:
square(4)
получает:
number = 4
Далее:
return number * number
возвращает:
16
⸻
- Возврат нескольких значений
Python позволяет вернуть несколько значений сразу.
def person():
name = "Alice"
age = 25
return name, age
user_name, user_age = person()
print(user_name)
print(user_age)
Результат:
Alice
25
Фактически Python возвращает кортеж.
То есть:
return name, age
равно:
return (name, age)
⸻
- return и print() — разница
Частая ошибка начинающих — путать их.
print()
Только показывает информацию.
def sum_numbers(a, b):
print(a + b)
sum_numbers(2, 3)
Результат:
5
Но:
x = sum_numbers(2, 3)
print(x)
Вывод:
5
None
⸻
return
Возвращает значение.
def sum_numbers(a, b):
return a + b
x = sum_numbers(2, 3)
print(x)
Результат:
5
⸻
Главное правило
print() → показать
return → вернуть
⸻
- Возврат значения сразу
Необязательно создавать переменную.
Было:
def multiply(a, b):
result = a * b
return result
Можно:
def multiply(a, b):
return a * b
⸻
- Несколько return
Функция может иметь несколько вариантов возврата.
Пример:
def check(number):
if number > 0:
return "Положительное"
if number < 0:
return "Отрицательное"
return "Ноль"
print(check(5))
print(check(-3))
print(check(0))
Результат:
Положительное
Отрицательное
Ноль
⸻
- Досрочное завершение функции
return можно использовать для выхода из функции.
def divide(a, b):
if b == 0:
return "Ошибка"
return a / b
print(divide(10, 2))
print(divide(10, 0))
Результат:
5.0
Ошибка
⸻
- return без значения
Можно написать:
return
или ничего не писать.
Тогда Python возвращает:
None
Пример:
def hello():
print("Привет")
x = hello()
print(x)
Результат:
Привет
None
Эквивалент:
def hello():
print("Привет")
return None
⸻
- Что такое None
None — специальное значение Python.
Означает:
отсутствие значения
Пример:
x = None
print(x)
Результат:
None
⸻
- return внутри условий
def is_even(number):
if number % 2 == 0:
return True
return False
print(is_even(4))
print(is_even(5))
Результат:
True
False
Можно короче:
def is_even(number):
return number % 2 == 0
⸻
- Вложенный вызов функций
Результат return можно передавать в другие функции.
def square(x):
return x * x
def sum_squares(a, b):
return square(a) + square(b)
print(sum_squares(2, 3))
Результат:
13
⸻
- Типичные ошибки
Ошибка 1: забыли return
Неправильно:
def square(x):
x * x
result = square(5)
print(result)
Результат:
None
Правильно:
def square(x):
return x * x
⸻
Ошибка 2: писать код после return
Неправильно:
def test():
return 10
print("Hello")
Код недостижим.
⸻
Ошибка 3: путать print и return
Неправильно:
def add(a, b):
print(a + b)
result = add(2, 3)
print(result + 5)
Ошибка:
TypeError
Правильно:
def add(a, b):
return a + b
⸻
- Практические задания
Задание 1
Напишите функцию:
square(number)
которая возвращает квадрат числа.
⸻
Задание 2
Создайте функцию:
max_number(a, b)
которая возвращает большее число.
⸻
Задание 3
Напишите функцию:
is_positive(number)
которая возвращает:
True
если число положительное, иначе:
False
⸻
- Итог
return:
- возвращает значение из функции;
- завершает выполнение функции;
- позволяет использовать результат дальше в коде.
Разница:
Оператор Назначение
print() вывод в консоль
return возврат результата
Рекомендация:
- если функция вычисляет значение — использовать return;
- print() применять только для отображения информации пользователю.