Python

Вихід Python проти. Повернення

Вихід Python проти. Повернення

Python - широко використовувана мова програмування загального призначення останнім часом. Yield - це вбудоване ключове слово Python, яке використовується для створення функцій генератора. Його функція дає ряд результатів. Він призупиняє виконання програми, відправляє значення результату назад абоненту і відновлює виконання з останнього результату. Крім того, функція yield передає згенеровану серію результатів у вигляді об'єкта-генератора. З іншого боку, return - це також вбудоване ключове слово в Python, яке завершує функцію і відправляє значення назад абоненту.

У цій статті на прикладах викладено відмінності між урожайністю та прибутковістю.

Різниця між прибутковістю та прибутковістю

Почнемо з того, що між врожайністю та прибутковістю є багато помітних відмінностей. Давайте спочатку обговоримо, що це.

Повернення Врожайність
Оператор return повертає лише одне значення абоненту. Оператор yield може повернути серію результатів абоненту у вигляді об'єкта генератора.
Повернення виходить із функції, а у випадку циклу воно відхиляє цикл. Це останнє твердження, яке буде розміщено всередині функції. Це не скасовує локальні змінні функції. Він призупиняє виконання і надсилає значення назад абоненту, і продовжує виконання програми з останнього оператора yield.
Логічно, що функція повинна мати лише оператор return. Усередині функції може бути більше одного оператора yield.
Оператор return може працювати лише один раз. Оператор yield може виконуватися кілька разів.
Оператор return розміщується всередині звичайної функції Python. Оператор yield перетворює регулярну функцію у функцію генератора.

Приклад1: Повернення проти. Врожайність

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

#a програма для показу роботи оператора return

#defining числова змінна

число1 = 10
#defining числова змінна

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

def mathOP ():
# обчислення значення суми

повернути num1 + num2
# обчислення різниці

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

повернути num1 * num2
# обчислення значення ділення

повернути num1 / num2
#calling функції

print (mathOP ())

Вихідні дані

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

Щоб виконати подібне завдання з кількома операторами повернення, нам потрібно створити чотири різні функції для кожного типу арифметичної операції.

#a програма для показу роботи оператора return

#defining числова змінна

число1 = 10
#defining числова змінна

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

def sumOP ():
# обчислення значення суми

повернути num1 + num2
def subtractOP ():
# обчислення різниці

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

повернути num1 * num2
def divisionOP ():
# обчислення значення ділення

повернути num1 / num2
# виклик функції суми

print ("Значення суми:", sumOP ())
# виклик функції віднімання

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

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

print ("Значення поділу:", divisionOP ())

Вихідні дані

Ми можемо виконувати ці множинні арифметичні операції всередині однієї функції генератора з декількома операторами виходу.

# програма для показу роботи звіту про прибутковість

#defining числова змінна

число1 = 10
#defining числова змінна

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

def mathOP ():
# обчислення значення суми

вихід num1 + num2
# обчислення різниці

вихід num1-num2
# обчислення значення множення

вихід num1 * num2
# обчислення значення ділення

вихід num1 / num2
#calling функції

print ("Друк значень:")
# using for для доступу до значень з об'єкта генератора

для i в mathOP ():
друк (i)

Вихідні дані

Приклад2: Повернення проти. Врожайність

Побачимо ще один приклад операторів return і yield. У наведеному прикладі ми маємо список чисел, який передається функції mod () як аргумент. Ми виконуємо операцію модуля над кожним номером списку та перевіряємо, які це числа, коли ділимо на 10, повертаємо нуль як залишкове значення.

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

#defining a list of numbers

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

def mod (myList):
для i в моєму списку:
# виконуючи модульну операцію

якщо (i% 10 == 0):
повернути i
друк (мод (myList))

Вихідні дані

Оператор return лише повертає перше число абоненту і припиняє виконання функції.

Тепер давайте реалізуємо той самий приклад у нашому скрипті Python із заявою yield.

#defining a list of numbers

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

def mod (myList):
для i в моєму списку:
# виконуючи модульну операцію

якщо (i% 10 == 0):
# заява про врожайність

врожайність i
для i в моді (myList):
друк (i)

Вихідні дані

Висновок

На закінчення, return і yield - це два вбудовані ключові слова або оператори Python. Оператор return використовується для повернення значення функції, що викликає, і припиняє виконання програми, тоді як оператор yield створює об'єкт-генератор і може повертати декілька значень абоненту, не припиняючи виконання програми. Ця стаття перераховує всі помітні відмінності між операторами повернення та доходу на прикладах.

Встановіть найновіший емулятор Dolphin для Gamecube & Wii на Linux
Емулятор Dolphin дозволяє грати у вибрані вами ігри Gamecube та Wii на персональних комп’ютерах Linux (ПК). Будучи вільно доступним і відкритим ігров...
Як використовувати GameConqueror Cheat Engine в Linux
Стаття висвітлює посібник із використання механізму читів GameConqueror в Linux. Багато користувачів, які грають у ігри в Windows, часто використовуют...
Кращі емулятори ігрової консолі для Linux
У цій статті буде перелічено популярне програмне забезпечення для емуляції ігрової консолі, доступне для Linux. Емуляція - це рівень сумісності програ...