Что такое return в python

от admin

What is “return” in Python?

W hat is the return statement, what does it do, and why use it?

These are just some of the many confusion Python Beginners ask (including me) especially when learning Python Functions.

And in this article, we’re gonna clear out everything for good.

So to start with, why should we use the return statement?

The answer is so simple: to return the output.

The output of what?

Answer: The output of Functions.

Functions are like machines. You can give it an input and it will give you an output. If you don’t return the output, you’ll get nothing.

And in the case of Python, the return statement is the one that spits out or returns the output of a function. If you don’t have a return statement, your function will give you “None” (literally, you’ll get “None”).

To make it MORE CLEAR for you, I have this simple diagram that depicts an imaginary machine (and how Functions work).

This machine represents a function in Python.

The arguments accept the input for the function, while the codes inside the function process the input, and the return statement (which is the conveyer belt) spits out the output.

NOTE: Not all Python Functions accept arguments (or inputs). There are functions that don’t accept or require arguments.

And to help wrap things up…

The return statement is very important when creating functions if you want to access the output.

If you don’t return the output, you’ll be getting None.

To show my point…

Here's an example function that has no return statement:

Running this code will give us this output:

As you can see, even though we called the function and even printed it, we didn't get the answer for the square root of 9, but instead, Python tells us

Because we don't have the return statement in the root function.

Here's the version 2 of our root function, and at this time, we will now include the return statement so that we can get the answer:

Running this program will give us the square root of 9:

This simple example alone gives us the clarification about the return statement and why use it (I mean it, USE RETURN STATEMENT FOR YOUR FUNCTIONS).

So that's the return statement in a nutshell. Hope you learned something from this article.

Make sure to watch the Full Python Return Statement Tutorial here:

This video tutorial also has a quiz so that you can really understand the return statement.

This unit is Part of my FREE FULL PYTHON TUTORIAL SERIES (scratch to beginner to intermediate) that gives you the springboard you’ll need to learn the exciting and advanced topics in Python like Machine Learning and Web Development.

If you are ready to learn Python Step-by-step from scratch to beginner to Intermediate, click the link below, finish the units from the very first up to the very last, and get ready to kick it!

Do you mind sending a tip?

I put a TREMENDOUS EFFORT into putting all these contents and tutorials online for Free to everyone, but that also means I’m spending a lot of time just to finish them. And your warm help is a BIG THING FOR ME, promise.

Функции¶

Функции – это многократно используемые фрагменты программы. Они позволяют дать имя определенному блоку команд для того, чтобы выполнять этот блок по указанному имени в любом месте программы и сколь угодно много раз. Это называется вызовом функции. Мы уже использовали встроенные функции: print , input , len , range ;

Параметры функций¶

Функции могут принимать параметры, т.е. некоторые значения, передаваемые функции для того, чтобы она что-либо сделала с ними.

Параметры указываются в скобках при объявлении функции и разделяются запятыми. Аналогично мы передаём значения, когда вызываем функцию. Обратите внимание на терминологию: имена, указанные в объявлении функции, называются параметрами, тогда как значения, которые вы передаёте в функцию при её вызове, – аргументами.

Локальные переменные¶

При объявлении переменных внутри определения функции, они никоим образом не связаны с другими переменными с таким же именем за пределами функции – т.е. имена переменных являются локальными в функции. Это называется областью видимости переменной. Область видимости всех переменных ограничена блоком, в котором они объявлены, начиная с точки объявления имени.

Значения аргументов по умолчанию¶

Часть параметров функций могут быть необязательными, и для них будут использоваться некоторые заданные значения по умолчанию, если пользователь не укажет собственных. Этого можно достичь с помощью значений аргументов по умолчанию. Их можно указать, добавив к имени параметра в определении функции оператор присваивания (=) с последующим значением.

Обратите внимание, что значение по умолчанию должно быть неизменным.

Ключевые аргументы¶

Если имеется некоторая функция с большим числом параметров, и при её вызове требуется указать только некоторые из них, значения этих параметров могут задаваться по их имени – это называется ключевые параметры. В этом случае для передачи аргументов функции используется имя (ключ) вместо позиции (как было до сих пор).

Переменное число параметров¶

Иногда бывает нужно определить функцию, способную принимать любое число параметров:

Читать:
Почему я хочу обучаться в ит классе

Оператор return ¶

Оператор return используется для возврата из функции, т.е. для прекращения её работы и выхода из неё. При этом можно также вернуть некоторое значение из функции:

Из функции можно вернуть только одно значение. Если все-таки необходимо вернуть несколько значений, то для этого можно использовать кортеж:

Задачи¶

В задачах этого раздела вам даны заготовки для самопроверки. Этот код нужно скопировать и разместить после определения своей функции. Так, если вам дан код:

то ваш файл с исходным кодом должен выглядеть так:

Расскажите о назначении каждого параметра.

Реализовать функцию is_sorted . Функция принимает на вход список и возвращает True , если элементы в нем упорядочены по возрастанию.

Реализовать функцию find_longest . Функция принимает на вход список строк и возвращает строку с максимальной длиной. Если таких строк несколько, то возвращает первую из них.

Реализовать функцию min_max . Функция принимает на вход список чисел и возвращает пару: минимальное и максимальное число. Алгоритм должен выполнять не более одного прохода по списку.

Реализовать функцию zip_longest_sum . Функция принимает на вход два списка и возвращает новый список, полученный сложением соответствующих элементов входных списков.

Реализовать функцию is_prime . Функция принимает на вход целое число и возвращает True , если число простое. Простым называется число, которое делится без остатка только на 1 и на себя.

Реализовать функцию join . Функция принимает разделитель и список строк, возвращает строку, в которой элементы списка чередуются с разделителем.

Функция return в Python

Оператор возврата в python используется для возврата значений из функции. Мы можем использовать оператор return только в функции. Его нельзя использовать вне функции Python.

Функция без оператора возврата

Каждая функция в Python что-то возвращает. Если функция не имеет никакого оператора возврата, она возвращает None.

Пример return

Мы можем выполнить некоторую операцию в функции и вернуть результат вызывающей стороне с помощью оператора return.

Пример оператора Return в Python

return с выражением

У нас могут быть выражения также в операторе return. В этом случае выражение оценивается и возвращается результат.

Заявление о возврате Python с выражением

Логическое значение

Давайте посмотрим на пример, в котором мы вернем логическое значение аргумента функции. Мы будем использовать функцию bool(), чтобы получить логическое значение объекта.

Логическое значение возврата

Строка

Давайте посмотрим на пример, в котором наша функция вернет строковое представление аргумента. Мы можем использовать функцию str(), чтобы получить строковое представление объекта.

Строка возврата Python

Кортеж

Иногда нам нужно преобразовать несколько переменных в кортеж. Давайте посмотрим, как написать функцию для возврата кортежа из переменного числа аргументов.

Кортеж возврата функции Python

Функция, возвращающая другую функцию

Мы также можем вернуть функцию из оператора return. Это похоже на Currying, которое представляет собой метод перевода оценки функции, которая принимает несколько аргументов, в оценку последовательности функций, каждая из которых имеет один аргумент.

Функция возврата Python

Функция, возвращающая внешнюю функцию

Мы также можем вернуть функцию, которая определена вне функции, с помощью оператора return.

Возврат внешней функции

Возврат нескольких значений

Если вы хотите вернуть несколько значений из функции, вы можете вернуть объект кортежа, списка или словаря в соответствии с вашими требованиями.

Однако, если вам нужно вернуть огромное количество значений, то использование последовательности – это слишком большая операция по перегрузке ресурсов. В этом случае мы можем использовать yield, чтобы возвращать несколько значений одно за другим.

Возврат против доходности

Резюме

Оператор return в python используется для возврата вывода из функции. Мы узнали, что мы также можем вернуть функцию из другой функции. Кроме того, выражения оцениваются, а затем функция возвращает результат.

Что делает return в Python?

Функция print() записывает, то есть «печатает», строку или число на консоли. Оператор return не выводит значение, которое возвращается при вызове функции. Это, однако, приводит к немедленному завершению или завершению функции, даже если это не последний оператор функции.

Во многих других языках функция, которая не возвращает значение, называется процедурой.

В данном коде значение, возвращаемое (то есть 2) при вызове функции foo(), используется в функции bar(). Эти возвращаемые значения печатаются на консоли только тогда, когда используются операторы печати, как показано ниже.

Пример

Вывод

Мы видим, что когда foo() вызывается из bar(), 2 не записывается в консоль. Вместо этого он используется для вычисления значения, возвращаемого из bar().

Пример оператора return Python

Давайте посмотрим на простой пример сложения двух чисел и возврата суммы вызывающему абоненту.

Мы можем оптимизировать функцию, указав выражение в операторе возврата.

Каждая функция что-то возвращает

Давайте посмотрим, что возвращается, когда функция не имеет оператора возврата.

функция Return возвращает None

Что произойдет, если в операторе ничего нет?

Когда оператор return не имеет значения, функция возвращает None.

Может иметь несколько операторов

Функция может возвращать несколько типов значений

В отличие от других языков программирования, функции Python не ограничиваются возвратом значений одного типа. Если вы посмотрите на определение функции, в нем нет никакой информации о том, что она может вернуть.

Давайте посмотрим на пример, в котором функция возвращает несколько типов значений.

Возврат нескольких значений в одном операторе

Мы можем вернуть несколько значений из одного оператора возврата. Эти значения разделяются запятой и возвращаются вызывающей программе в виде кортежа.

Python Возвращает Несколько Значений

С блоком finally

Как работает оператор return внутри блока try-except? Сначала выполняется код блока finally перед возвратом значения вызывающей стороне.

Если в блоке finally есть оператор return, то предыдущий оператор return игнорируется и возвращается значение из блока finally.

Похожие статьи