Доходность Python против доходности

Python Yield Vs Return



Python - широко используемый в последнее время язык программирования общего назначения. Yield - это встроенное ключевое слово Python, которое используется для создания функций генератора. Его функция дает ряд результатов. Он приостанавливает выполнение программы, отправляет значение результата обратно вызывающей стороне и возобновляет выполнение с последнего yield. Кроме того, функция yield отправляет сгенерированную серию результатов в виде объекта-генератора. С другой стороны, return также является встроенным ключевым словом в Python, которое завершает функцию и отправляет значение обратно вызывающей стороне.

В этой статье описаны различия между доходностью и доходностью с примерами.







Различия между доходностью и доходностью

Начнем с того, что существует много заметных различий между доходностью и доходностью. Давайте сначала обсудим, что это.



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

Пример 1: доходность по сравнению с доходностью

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



# программа, показывающая работу оператора возврата

# определение числовой переменной

число1знак равно10

# определение числовой переменной

число2знак равнодвадцать

# создание функции для выполнения арифметических операций

def mathOP():

# вычисление итогового значения

возвращениечисло1+число2

# вычисление разницы

возвращениечисло1-число2

# вычисление значения умножения

возвращениечисло1*число2

# расчет стоимости деления

возвращениечисло1/число2

# вызов функции

Распечатать(mathOP())

Выход





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



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

# программа, показывающая работу оператора возврата

# определение числовой переменной

число1знак равно10

# определение числовой переменной

число2знак равнодвадцать

# создание функции для выполнения арифметических операций

def sumOP():

# вычисление итогового значения

возвращениечисло1+число2

def subtractOP():

# вычисление разницы

возвращениечисло1-число2

def умножениеOP():

# вычисление значения умножения

возвращениечисло1*число2

def DivisionOP():

# расчет стоимости деления

возвращениечисло1/число2

# вызов функции суммы

Распечатать('Суммарное значение:',sumOP())

# вызов функции вычитания

Распечатать('Значение разницы:',вычесть OP())

# вызов функции умножения

Распечатать('Значение умножения:',умножениеOP())

# вызов функции деления

Распечатать(«Стоимость деления:»,DivisionOP())

Выход

Мы можем выполнять эти несколько арифметических операций внутри одной функции генератора с несколькими операторами yield.

# программа, показывающая работу оператора yield

# определение числовой переменной

число1знак равно10

# определение числовой переменной

число2знак равнодвадцать

# создание функции для выполнения арифметических операций

def mathOP():

# вычисление итогового значения

урожайчисло1+число2

# вычисление разницы

урожайчисло1-число2

# вычисление значения умножения

урожайчисло1*число2

# расчет стоимости деления

урожайчисло1/число2

# вызов функции

Распечатать('Печать значений:')

# использование цикла for для доступа к значениям из объекта генератора

дляя в mathOP():

Распечатать(я)

Выход

Пример 2: доходность и доходность

Давайте посмотрим на другой пример операторов return и yield. В данном примере у нас есть список чисел, который передается в функцию mod () в качестве аргумента. Мы выполняем операцию модуля для каждого числа в списке и проверяем, что это за числа при делении на 10, возвращая ноль в качестве значения остатка.

Сначала давайте реализуем этот пример в нашем скрипте Python с оператором return.

# определение списка номеров

мой списокзнак равно[10,двадцать,25,30,35 год,40,пятьдесят]

# определение функции для выполнения операции модуля

def мод(мой список):

дляя в моем списке:

# выполнение операции по модулю

если(я%10==0):

возвращениея

Распечатать(против(мой список))

Выход

Оператор return возвращает вызывающему только первое число и завершает выполнение функции.

Теперь давайте реализуем тот же пример в нашем скрипте Python с оператором yield.

# определение списка номеров

мой списокзнак равно[10,двадцать,25,30,35 год,40,пятьдесят]

# определение функции для выполнения операции модуля

def мод(мой список):

дляя в моем списке:

# выполнение операции по модулю

если(я%10==0):

# заявление о доходности

урожайя

дляя в моде(мой список):

Распечатать(я)

Выход

Заключение

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