Доходност на Python

Python Yield



Yield е вградена ключова дума на Python, която връща стойността (ите) от функция. Изпълнението на функцията не се прекратява. По -скоро връща стойността на обаждащия се и поддържа състоянието на изпълнение на функцията. Изпълнението на функцията се възобновява от последния отчет за доходност. Доходността ни позволява да създадем поредица от стойности, а не една стойност. Използва се вътре в функционално тяло. Функцията, която съдържа декларация за добив, е известна като функция генератор.







Има няколко предимства за получаване на ключова дума. Например, той контролира разпределението на паметта и записва състоянието на локалната променлива. Това обаче увеличава сложността на кода.



Тази статия обяснява използването на ключовата дума yield с примери.



Синтаксис на Yield

Синтаксисът на доходност е прост и ясен. Доходността се инициира с ключовата дума yield и синтаксиса, както следва:





добивстойност

Примери

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

#деклариране на генератор за определяне на високосна година
defleapfunc(my_list):
заiвmy_list:
ако(i%4==0):
#използване на доходност
добивi
#деклариране на списъка с години
year_list=[2010 г.,2011 г.,2012 г.,2016 г.,2020 г.,2024 г.]
печат(„Отпечатване на стойностите на високосната година“)
захвleapfunc(year_list):
печат(х)

Изход



Резултатът показва поредицата от високосни години.

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

#деклариране на функция генератор
defmyfunc():
добив 'Марк'
добив 'Джон'
добив 'Тейлър'
добив 'Иван'
добив 10
добив двайсет
добив 30
добив 40
добив петдесет
#извикване и повторение чрез функцията генератор
заiвmyfunc():
#отпечатване на стойности
печат(i)

Изход

Нека внедрим функция генератор за изчисляване и отпечатване на стойността на куба на последователността от числа. Генерираме стойностите на куба от 1 до 30.

#деклариране на генераторска функция за изчисляване на стойността на куба
defизчислете():
час=1
#безкрайният цикъл while
докато Вярно:
#изчисляващ куб
добивval * val * val
#увеличаване на стойността с 1
час=val +1
печат('Стойностите на куба са:')
#извикване на функцията генератор
заiвизчислете():
акоi>30:
прекъсване
печат(i)

Изход

Изходът показва стойността на куба по -малка от 30.

Заключение

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