Доходност на Python срещу връщане

Python Yield Vs Return



Python е широко използваният език за програмиране с общо предназначение от последно време. Доходността е вградена ключова дума на Python, която се използва за създаване на функциите на генератора. Неговата функция генерира поредица от резултати. Той спира изпълнението на програмата, изпраща стойността на резултата обратно на обаждащия се и възобновява изпълнението от последния добив. Освен това функцията за доход изпраща генерираната серия от резултати под формата на обект генератор. От друга страна, връщането също е вградена ключова дума в Python, която прекратява функцията и изпраща стойността обратно на обаждащия се.

Тази статия очертава разликите между доходността и възвръщаемостта с примери.







Разлики между доходност и възвръщаемост

Като начало има много забележими разлики между доходността и възвръщаемостта. Нека първо обсъдим какви са те.



Връщане Добив
Операторът return връща само една стойност на обаждащия се. Декларацията за доходност може да върне поредица от резултати на обаждащия се под формата на обект генератор.
Връщането излиза от функцията и в случай на цикъл отхвърля цикъла. Това е последното изявление, което се поставя вътре във функцията. Той не премахва локалните променливи на функцията. Той спира изпълнението и изпраща стойността обратно на обаждащия се и продължава изпълнението на програмата от последния отчет за доходност.
Логично функцията трябва да има само оператор return. Вътре във функцията може да има повече от едно изявление за добив.
Извлечението return може да се изпълнява само веднъж. Декларацията за доходност може да се изпълнява няколко пъти.
Операторът return се поставя в обикновена функция на Python. Декларацията за доходност преобразува обикновена функция в функция генератор.

Пример 1: Възвръщаемост срещу доходност

Нека сега видим разликата между декларациите за възвръщаемост и доходност чрез примери. В примерната програма, дадена по -долу, сме използвали множество оператори за връщане. Можете да забележите, че изпълнението на програмата ще приключи след първия оператор return, а останалата част от кода няма да бъде изпълнена.



#програма, която показва работата на оператора return

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

номер1=10

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

номер2=двайсет

#creating функция за изпълнение на аритметични операции

def mathOP():

#изчисляване на сумата

връщаненомер1+номер2

#изчисляване на разликата

връщаненомер1-номер2

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

връщаненомер1*номер2

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

връщаненомер1/номер2

#извикване на функцията

печат(mathOP())

Изход





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



За да изпълним подобна задача с множество оператори за връщане, трябва да създадем четири различни функции за всеки тип аритметична операция.

#програма, която показва работата на оператора return

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

номер1=10

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

номер2=двайсет

#creating функция за изпълнение на аритметични операции

def sumOP():

#изчисляване на сумата

връщаненомер1+номер2

def изважда OP():

#изчисляване на разликата

връщаненомер1-номер2

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

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

връщаненомер1*номер2

def DivisionOP():

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

връщаненомер1/номер2

#извикване на функцията за суми

печат(„Сумата е:“,sumOP())

#извикване на функцията за изваждане

печат(„Стойността на разликата е:“,извадете OP())

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

печат(„Стойността на умножението е:“,умножениеOP())

#извикване на функцията за разделяне

печат(„Стойността на делението е:“,DivisionOP())

Изход

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

#програма, която показва работата на декларацията за доходност

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

номер1=10

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

номер2=двайсет

#creating функция за изпълнение на аритметични операции

def mathOP():

#изчисляване на сумата

добивномер1+номер2

#изчисляване на разликата

добивномер1-номер2

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

добивномер1*номер2

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

добивномер1/номер2

#извикване на функцията

печат(„Отпечатване на стойностите:“)

#използване за цикъл за достъп до стойностите от обекта генератор

зааз съм в mathOP():

печат(i)

Изход

Пример 2: Възвръщаемост срещу доходност

Нека видим друг пример за декларации за възвръщаемост и доходност. В дадения пример имаме списък с числа, който се предава на функцията mod () като аргумент. Изпълняваме модулната операция за всеки номер от списъка и проверяваме какви са тези числа, разделени на 10, връщат нула като остатъчна стойност.

Първо, нека приложим този пример в нашия скрипт на Python с оператор return.

#дефиниране на списък с числа

myList=[10,двайсет,25,30,35,40,петдесет]

#дефиниране на функция за извършване на модулната операция

def mod(myList):

зааз в myList:

#извършване на модулна операция

ако(i%10==0):

връщанеi

печат(против(myList))

Изход

Операторът return връща само първия номер на обаждащия се и прекратява изпълнението на функцията.

Сега, нека приложим същия пример в нашия скрипт на Python с декларацията за доходност.

#дефиниране на списък с числа

myList=[10,двайсет,25,30,35,40,петдесет]

#дефиниране на функция за извършване на модулната операция

def mod(myList):

зааз в myList:

#извършване на модулна операция

ако(i%10==0):

#декларацията за доходност

добивi

зааз в мод(myList):

печат(i)

Изход

Заключение

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