0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p><a>#статьи</a></p>
1
<p><a>#статьи</a></p>
2
<ul><li>25 авг 2025</li>
2
<ul><li>25 авг 2025</li>
3
<li>0</li>
3
<li>0</li>
4
</ul><p>Учимся возвращать результат и управлять логикой функции.</p>
4
</ul><p>Учимся возвращать результат и управлять логикой функции.</p>
5
<p>Иллюстрация: Оля Ежак для Skillbox Media</p>
5
<p>Иллюстрация: Оля Ежак для Skillbox Media</p>
6
<p>Пишет о сетях, инструментах для разработчиков и языках программирования. Любит готовить, играть в инди‑игры и программировать на Python.</p>
6
<p>Пишет о сетях, инструментах для разработчиков и языках программирования. Любит готовить, играть в инди‑игры и программировать на Python.</p>
7
<p>Эта статья для тех, кто только начинает изучать Python и уже встречал ключевое слово return в функциях. Вы можете представить функцию как повара, а return - как момент, когда тот подаёт приготовленное блюдо клиенту.</p>
7
<p>Эта статья для тех, кто только начинает изучать Python и уже встречал ключевое слово return в функциях. Вы можете представить функцию как повара, а return - как момент, когда тот подаёт приготовленное блюдо клиенту.</p>
8
<p>У оператора return в Python есть три главные особенности: он возвращает значение, прерывает выполнение функции и позволяет использовать результат её работы. В статье мы разберём, как это работает. Рекомендуем <a>установить Python</a>,<a>выбрать удобный редактор</a>и повторять примеры за нами.</p>
8
<p>У оператора return в Python есть три главные особенности: он возвращает значение, прерывает выполнение функции и позволяет использовать результат её работы. В статье мы разберём, как это работает. Рекомендуем <a>установить Python</a>,<a>выбрать удобный редактор</a>и повторять примеры за нами.</p>
9
<p><strong>Содержание</strong></p>
9
<p><strong>Содержание</strong></p>
10
<ul><li><a>Как работает return при возврате значения</a></li>
10
<ul><li><a>Как работает return при возврате значения</a></li>
11
<li><a>Что делает функция после return</a></li>
11
<li><a>Что делает функция после return</a></li>
12
<li><a>Как использовать результат return в программе</a></li>
12
<li><a>Как использовать результат return в программе</a></li>
13
</ul><p>В Python любая функция всегда что-то возвращает. Если в ней явно не указан оператор return, результатом будет специальное значение None, которое означает "ничего" или "отсутствие значения". Посмотрим на примере:</p>
13
</ul><p>В Python любая функция всегда что-то возвращает. Если в ней явно не указан оператор return, результатом будет специальное значение None, которое означает "ничего" или "отсутствие значения". Посмотрим на примере:</p>
14
def say_hello(): print("Привет!") print(say_hello()) # Сначала выведет "Привет!", а затем None<p>Функция say_hello() печатает текст, но не возвращает значения, поэтому после её вызова мы видим None. Когда добавим return, результат изменится - функция будет возвращать строку Привет!, которая и выведется на экран:</p>
14
def say_hello(): print("Привет!") print(say_hello()) # Сначала выведет "Привет!", а затем None<p>Функция say_hello() печатает текст, но не возвращает значения, поэтому после её вызова мы видим None. Когда добавим return, результат изменится - функция будет возвращать строку Привет!, которая и выведется на экран:</p>
15
def say_hello(): return "Привет!" print(say_hello()) # Привет!<p>Ещё раз: print() просто выводит что-то на экран, а return передаёт результат наружу из функции. Можно представить так: print() - это будто вы говорите ответ вслух и он сразу исчезает. А return - это как записать ответ на бумаге и передать его дальше: можно работать с этим значением, сохранять его или использовать в других вычислениях. Подробнее об этом поговорим далее.</p>
15
def say_hello(): return "Привет!" print(say_hello()) # Привет!<p>Ещё раз: print() просто выводит что-то на экран, а return передаёт результат наружу из функции. Можно представить так: print() - это будто вы говорите ответ вслух и он сразу исчезает. А return - это как записать ответ на бумаге и передать его дальше: можно работать с этим значением, сохранять его или использовать в других вычислениях. Подробнее об этом поговорим далее.</p>
16
<p>В предыдущем примере мы получили строку, однако оператор return может возвращать данные любого типа. Например, число или логическое значение:</p>
16
<p>В предыдущем примере мы получили строку, однако оператор return может возвращать данные любого типа. Например, число или логическое значение:</p>
17
def add(a, b): return a + b print(add(3, 5)) # 8 def is_even(number): return number % 2 == 0 print(is_even(4)) # True print(is_even(7)) # False<p>Иногда функции в Python могут возвращать несколько значений. В этом случае они автоматически упаковываются в кортеж - неизменяемую упорядоченную коллекцию данных, которая записывается в круглых скобках:</p>
17
def add(a, b): return a + b print(add(3, 5)) # 8 def is_even(number): return number % 2 == 0 print(is_even(4)) # True print(is_even(7)) # False<p>Иногда функции в Python могут возвращать несколько значений. В этом случае они автоматически упаковываются в кортеж - неизменяемую упорядоченную коллекцию данных, которая записывается в круглых скобках:</p>
18
def get_person(): name = "Алекс" age = 30 return name, age # Возвращаем сразу два значения person = get_person() print(person) # Показываем результат функции: ('Алекс', 30) print(type(person)) # Убеждаемся, что результат - кортеж (tuple)<p>Работать с кортежем удобно, если функция возвращает несколько связанных результатов - например, имя и возраст пользователя или координаты точки на плоскости. Однако кортеж относится к неизменяемым структурам данных, поэтому после создания нельзя ничего добавить в него, удалить и заменить.</p>
18
def get_person(): name = "Алекс" age = 30 return name, age # Возвращаем сразу два значения person = get_person() print(person) # Показываем результат функции: ('Алекс', 30) print(type(person)) # Убеждаемся, что результат - кортеж (tuple)<p>Работать с кортежем удобно, если функция возвращает несколько связанных результатов - например, имя и возраст пользователя или координаты точки на плоскости. Однако кортеж относится к неизменяемым структурам данных, поэтому после создания нельзя ничего добавить в него, удалить и заменить.</p>
19
<p>Поэтому, если вам нужно вернуть из функции изменяемую структуру, в return можно явно указать другой тип коллекции:<a>список</a>,<a>словарь</a>,<a>множество</a>или даже собственный объект класса. Давайте рассмотрим пример со списком:</p>
19
<p>Поэтому, если вам нужно вернуть из функции изменяемую структуру, в return можно явно указать другой тип коллекции:<a>список</a>,<a>словарь</a>,<a>множество</a>или даже собственный объект класса. Давайте рассмотрим пример со списком:</p>
20
def get_numbers(a, b, c): # Возвращаем список из переданных значений return [a, b, c] numbers = get_numbers(10, 20, 30) print(numbers) # [10, 20, 30] print(type(numbers)) # <class 'list'> numbers.append(40) # Добавляем новое число print(numbers) # [10, 20, 30, 40]<p>Как только выполнение кода доходит до оператора return, срабатывает механизм выхода из функции. При этом весь последующий код в теле функции игнорируется. Посмотрим на пример с несколькими строками кода:</p>
20
def get_numbers(a, b, c): # Возвращаем список из переданных значений return [a, b, c] numbers = get_numbers(10, 20, 30) print(numbers) # [10, 20, 30] print(type(numbers)) # <class 'list'> numbers.append(40) # Добавляем новое число print(numbers) # [10, 20, 30, 40]<p>Как только выполнение кода доходит до оператора return, срабатывает механизм выхода из функции. При этом весь последующий код в теле функции игнорируется. Посмотрим на пример с несколькими строками кода:</p>
21
def example(): print("Строка 1") return print("Строка 2") print("Строка 3") example() # Строка 1<p>Наша функция успела выполнить только первую строку. Теперь переставим return в конец, и функция сможет выполнить все инструкции перед ним:</p>
21
def example(): print("Строка 1") return print("Строка 2") print("Строка 3") example() # Строка 1<p>Наша функция успела выполнить только первую строку. Теперь переставим return в конец, и функция сможет выполнить все инструкции перед ним:</p>
22
def example(): print("Строка 1") print("Строка 2") print("Строка 3") return example() # Строка 1 # Строка 2 # Строка 3<p>То есть, помимо возврата значения, оператор return позволяет точно контролировать момент завершения функции. На практике это часто применяется в условных конструкциях, где вы можете сразу прервать выполнение кода и избежать перерасхода системных ресурсов:</p>
22
def example(): print("Строка 1") print("Строка 2") print("Строка 3") return example() # Строка 1 # Строка 2 # Строка 3<p>То есть, помимо возврата значения, оператор return позволяет точно контролировать момент завершения функции. На практике это часто применяется в условных конструкциях, где вы можете сразу прервать выполнение кода и избежать перерасхода системных ресурсов:</p>
23
def check_number(num): if num < 0: return "Число отрицательное" if num == 0: return "Это ноль" return "Число положительное" print(check_number(-5)) # Число отрицательное print(check_number(0)) # Это ноль print(check_number(7)) # Число положительное<p>В примере выше при каждом вызове функции срабатывает только один оператор return - тот, что первым подходит под условие. Благодаря этому функция возвращает только один результат за раз, а программа не тратит время на дополнительные проверки и может сразу продолжать работу.</p>
23
def check_number(num): if num < 0: return "Число отрицательное" if num == 0: return "Это ноль" return "Число положительное" print(check_number(-5)) # Число отрицательное print(check_number(0)) # Это ноль print(check_number(7)) # Число положительное<p>В примере выше при каждом вызове функции срабатывает только один оператор return - тот, что первым подходит под условие. Благодаря этому функция возвращает только один результат за раз, а программа не тратит время на дополнительные проверки и может сразу продолжать работу.</p>
24
<p>Внутри функции вы будете часто создавать переменные, которые существуют только в её локальной области видимости. К таким переменным нельзя обратиться за пределами функции, однако оператор return позволяет передавать вычисленное значение наружу - туда, откуда вызвана функция.</p>
24
<p>Внутри функции вы будете часто создавать переменные, которые существуют только в её локальной области видимости. К таким переменным нельзя обратиться за пределами функции, однако оператор return позволяет передавать вычисленное значение наружу - туда, откуда вызвана функция.</p>
25
<p>Для наглядности напишем функцию, которая будет вычислять площадь круга. Но сначала вместо return используем print() и сохраним результат:</p>
25
<p>Для наглядности напишем функцию, которая будет вычислять площадь круга. Но сначала вместо return используем print() и сохраним результат:</p>
26
import math def circle_area(radius): area = math.pi * radius ** 2 print(round(area)) result = circle_area(5) print(result) # Сначала выведет 79, затем None<p>Внутри функции мы рассчитали площадь и вывели её на экран с помощью print(). Однако сама функция ничего не вернула, поэтому в переменной result оказалось значение None. Так Python ведёт себя всегда, если в коде нет оператора return. Теперь давайте его добавим и перепишем пример:</p>
26
import math def circle_area(radius): area = math.pi * radius ** 2 print(round(area)) result = circle_area(5) print(result) # Сначала выведет 79, затем None<p>Внутри функции мы рассчитали площадь и вывели её на экран с помощью print(). Однако сама функция ничего не вернула, поэтому в переменной result оказалось значение None. Так Python ведёт себя всегда, если в коде нет оператора return. Теперь давайте его добавим и перепишем пример:</p>
27
import math def circle_area(radius): area = math.pi * radius ** 2 return round(area) result = circle_area(5) print(result) # 79 print(result * 2) # 158<p>После добавления return мы можем сохранить возвращённое значение в переменной result и использовать его для различных операций: умножать, выводить на экран или передавать в другую функцию в качестве аргумента.</p>
27
import math def circle_area(radius): area = math.pi * radius ** 2 return round(area) result = circle_area(5) print(result) # 79 print(result * 2) # 158<p>После добавления return мы можем сохранить возвращённое значение в переменной result и использовать его для различных операций: умножать, выводить на экран или передавать в другую функцию в качестве аргумента.</p>
28
<p>Python для всех</p>
28
<p>Python для всех</p>
29
<p>Вы освоите Python на практике и создадите проекты для портфолио - телеграм-бот, веб-парсер и сайт с нуля. А ещё получите готовый план выхода на удалёнку и фриланс. Спикер - руководитель отдела разработки в "Сбере".</p>
29
<p>Вы освоите Python на практике и создадите проекты для портфолио - телеграм-бот, веб-парсер и сайт с нуля. А ещё получите готовый план выхода на удалёнку и фриланс. Спикер - руководитель отдела разработки в "Сбере".</p>
30
<p><a>Пройти бесплатно</a></p>
30
<p><a>Пройти бесплатно</a></p>
31
<a><b>Бесплатный курс по разработке на Python ➞</b>Пройдите бесплатный курс по Python и создайте с нуля телеграм-бот, веб-парсер и сайт. Спикер - руководитель отдела разработки в "Сбере". Пройти курс</a>
31
<a><b>Бесплатный курс по разработке на Python ➞</b>Пройдите бесплатный курс по Python и создайте с нуля телеграм-бот, веб-парсер и сайт. Спикер - руководитель отдела разработки в "Сбере". Пройти курс</a>