Python

Python Yield против. Возвращаться

Python Yield против. Возвращаться

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

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

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

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

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

Пример 1: возврат против. Урожай

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

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

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

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

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

def mathOP ():
# вычисление итогового значения

вернуть num1 + num2
# вычисление разницы

вернуть num1-num2
# вычисление значения умножения

вернуть num1 * num2
# расчет стоимости деления

вернуть число1 / число2
# вызов функции

печать (mathOP ())

Выход

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

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

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

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

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

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

def sumOP ():
# вычисление итогового значения

вернуть num1 + num2
def subtractOP ():
# вычисление разницы

вернуть num1-num2
def multiplicationOP ():
# вычисление значения умножения

вернуть num1 * num2
def DivisionOP ():
# расчет стоимости деления

вернуть число1 / число2
# вызов функции суммы

print ("Суммарное значение:", sumOP ())
# вызов функции вычитания

print ("Значение разницы:", subtractOP ())
# вызов функции умножения

print ("Значение умножения:", multiplicationOP ())
# вызов функции деления

print ("Стоимость деления:", DivisionOP ())

Выход

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

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

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

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

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

def mathOP ():
# вычисление итогового значения

yield num1 + num2
# вычисление разницы

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

yield num1 * num2
# расчет стоимости деления

yield num1 / num2
# вызов функции

print ("Печать значений:")
# использование цикла for для доступа к значениям из объекта-генератора

для i в mathOP ():
печать (я)

Выход

Пример 2: возврат против. Урожай

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

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

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

myList = [10,20,25,30,35,40,50]
# определение функции для выполнения операции модуля

def мод (myList):
для i в myList:
# выполнение операции по модулю

если (i% 10 == 0):
вернуться я
печать (мод (myList))

Выход

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

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

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

myList = [10,20,25,30,35,40,50]
# определение функции для выполнения операции модуля

def мод (myList):
для i в myList:
# выполнение операции по модулю

если (i% 10 == 0):
# заявление о доходности

уступить я
для меня в моде (myList):
печать (я)

Выход

Заключение

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

Эмуляция щелчков мыши с помощью мыши без щелчка в Windows 10
Использование мыши или клавиатуры в неправильной позе или чрезмерное использование может привести к множеству проблем со здоровьем, включая растяжение...
Добавьте жесты мыши в Windows 10 с помощью этих бесплатных инструментов
В последние годы компьютеры и операционные системы сильно эволюционировали. Было время, когда пользователям приходилось использовать команды для навиг...
Контроль и управление перемещением мыши между несколькими мониторами в Windows 10
Диспетчер мыши с двумя дисплеями позволяет контролировать и настраивать движение мыши между несколькими мониторами, замедляя ее движения возле границы...