Питхон Ииелд

Python Yield



Ииелд је уграђена Питхон кључна реч која враћа вредности из функције. Извршавање функције није прекинуто. Уместо тога, враћа вредност позиваоцу и одржава стање извршења функције. Извршавање функције се наставља из последње изјаве о приносу. Принос нам омогућава да произведемо низ вредности, а не једну вредност. Користи се унутар тела функције. Функција која садржи изјаву о приносу позната је као функција генератора.







Добијање кључне речи има неколико предности. На пример, он контролише алокацију меморије и чува стање локалне променљиве. Међутим, то повећава сложеност кода.



Овај чланак објашњава примере кључне речи ииелд са примерима.



Синтакса приноса

Синтакса приноса је једноставна и јасна. Принос се покреће помоћу кључне речи ииелд и синтаксе на следећи начин:





приносвредност

Примери

Погледајмо сада примере за разумевање употребе и рада изјава о приносу. Традиционално, кључна реч ретурн завршава извршавање програма и враћа вредност на крају, док ииелд враћа низ вредности. Не чува вредност у меморији и враћа вредност позиваоцу током извођења. У датом примеру испод, функција генератора је дефинисана за одређивање преступне године. Скок је она година када дјељиво са четири врати нулу као остатак. Кључна реч ииелд враћа вредност преступне године позиваоцу. Пошто ће добити вредност преступне године, паузираће извођење програма, вратити вредност, а затим наставити са извршењем од места на којем је заустављено.

#декларисање генератора за одређивање преступне године
дефлеапфунц(моја листа):
заиумоја листа:
ако(и%4==0):
#користећи принос
приноси
#декларисање листе година
лист_године=[2010,2011,2012,2016,2020,2024]
принт(„Штампање вредности преступне године“)
заИксулеапфунц(лист_године):
принт(Икс)

Оутпут



Резултат приказује низ преступних година.

Погледајмо још један пример где функција генератора даје различите бројеве и низове.

#декларисање функције генератора
дефмифунц():
принос 'Марк'
принос 'Јохн'
принос 'Таилор'
принос 'Иван'
принос 10
принос двадесет
принос 30
принос 40
принос педесет
#позивање и понављање кроз функцију генератора
заиумифунц():
#вредности штампања
принт(и)

Оутпут

Имплементирајмо функцију генератора за израчунавање и штампање коцке вредности низа бројева. Генеришемо вредности коцке од 1 до 30.

#декларисање функције генератора за израчунавање вредности коцке
дефЦалцубе():
хрс=1
#бесконачна вхиле петља
док Истина:
#рачунајућа коцка
приносвал * вал * вал
#повећање вредности за 1
хрс=вал +1
принт('Вредности коцке су:')
#позивање функције генератора
заиуЦалцубе():
акои>30:
пауза
принт(и)

Оутпут

Излаз приказује вредност коцке мање од 30.

Закључак

Принос је кључна реч уграђена у Питхон која не прекида извршење програма и генерише низ вредности. У поређењу са кључном речи ретурн, кључна реч ииелд производи више вредности и враћа се позиваоцу. Овај чланак објашњава примере Питхон Ииелд -а.