Ииелд је уграђена Питхон кључна реч која враћа вредности из функције. Извршење функције се не прекида. Уместо тога, враћа вредност позиваоцу и одржава стање извршења функције. Извршење функције наставља се од последњег израза приноса. Принос нам омогућава да произведемо низ вредности, а не једну вредност. Користи се унутар функционалног тела. Функција која садржи изјаву о приносу позната је као функција генератора.
Постоји неколико предности давања кључне речи. На пример, контролише доделу меморије и чува локално променљиво стање. Међутим, то повећава сложеност кода.
Овај чланак објашњава употребу кључне речи ииелд са примерима.
Синтакса приноса
Синтакса приноса је једноставна и јасна. Принос се покреће помоћу кључне речи ииелд и синтаксе како следи:
вредност приносаПримери
Погледајмо сада примере за разумевање употребе и дела изјава о приносу. Традиционално, кључна реч ретурн завршава извршавање програма и враћа вредност на крају, док ииелд враћа секвенцу вредности. Не чува вредност у меморији и враћа је позиваоцу током извођења. У датом доњем примеру, функција генератора је дефинисана за одређивање преступне године. Скок је она година када је дељиво са четири враћа нулу као остатак. Кључна реч ииелд позиваоцу враћа вредност преступне године. Како ће добити вредност преступне године, паузираће извршавање програма, вратити вредност, а затим наставити извршење од места где је заустављено.
# проглашење генератора за одређивање преступне годинедеф леапфунц (мој_лист):
јер сам на ми_лист:
ако (и% 4 == 0):
# користећи принос
принос и
#декларисање листе година
иеар_лист = [2010,2011,2012,2016,2020,2024]
принт ("Штампање вредности преступне године")
за к у леапфунц (листа_година):
испис (к)
Оутпут
Резултат приказује низ преступних година.
Погледајмо још један пример где функција генератора даје разне бројеве и низове.
#декларисање функције генераторадеф мифунц ():
принос "Ознака"
принос "Јохн"
принос "Таилор"
принос "Иван"
принос 10
принос 20
принос 30
принос 40
принос 50
#позивање и понављање кроз функцију генератора
јер сам у мифунц ():
#принтинг валуес
испис (и)
Оутпут
Применимо функцију генератора за израчунавање и штампање вредности коцке низа бројева. Генеришемо вредности коцке од 1 до 30.
#декларисање функције генератора за израчунавање вредности коцкедеф цалцубе ():
вал = 1
# бесконачна вхиле петља
вхиле Труе:
#калкулирајућа коцка
принос вал * вал * вал
#увећавање вредности за 1
вал = вал + 1
принт ("Вредности коцке су:")
#позивање функције генератора
за и у цалцубе ():
ако сам> 30:
пауза
испис (и)
Оутпут
Излаз приказује вредност коцке мању од 30.
Закључак
Ииелд је уграђена Питхон кључна реч која не прекида извршење програма и генерише низ вредности. У поређењу са кључном речи ретурн, кључна реч ииелд даје више вредности и враћа се позиваоцу. Овај чланак објашњава Питхон Ииелд са примерима.