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 с примерами.