Питхон принос вс. повратак

Python Yield Vs Return



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

Овај чланак приказује примере разлика између приноса и приноса.







Разлике између приноса и приноса

За почетак, постоје многе истакнуте разлике између приноса и приноса. Хајде прво да разговарамо шта је ово.



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

Пример 1: Повратак у односу на принос

Погледајмо сада кроз примере разлику између изјава о приносу и приносу. У доњем примеру програма, користили смо више повратних наредби. Можете приметити да ће се извршавање програма завршити након прве наредбе ретурн, а остатак кода неће бити извршен.



#програм који приказује рад наредбе ретурн

#дефинисање бројчане променљиве

нум1=10

#дефинисање бројчане променљиве

нум2=двадесет

#креирање функције за извођење аритметичких операција

деф матхОП():

#израчунавање вредности збира

повратакнум1+нум2

#израчунавање разлике

повратакнум1-нум2

#израчунавање вредности множења

повратакнум1*нум2

#израчунавање вредности поделе

повратакнум1/нум2

#позивање функције

принт(матхОП())

Оутпут





У излазу се може видети да функција враћа само прву вредност, а програм се прекида.



Да бисмо извршили сличан задатак са више повратних наредби, морамо да направимо четири различите функције за сваки тип аритметичке операције.

#програм који приказује рад наредбе ретурн

#дефинисање бројчане променљиве

нум1=10

#дефинисање бројчане променљиве

нум2=двадесет

#креирање функције за извођење аритметичких операција

деф сумОП():

#израчунавање укупне вредности

повратакнум1+нум2

деф субтрацтОП():

#израчунавање разлике

повратакнум1-нум2

деф мултиплицатионОП():

#израчунавање вредности множења

повратакнум1*нум2

деф дивисионОП():

#израчунавање вредности поделе

повратакнум1/нум2

#позивање функције збира

принт(„Укупна вредност је:“,сумОП())

#позивање функције одузимања

принт(„Вредност разлике је:“,субтрацтОП())

#позивање функције множења

принт(„Вредност множења је:“,множењеОП())

#позивање функције дељења

принт(„Вредност поделе је:“,ДивисионОП())

Оутпут

Ове више аритметичких операција можемо извести унутар једне функције генератора са више исказа приноса.

#програм који приказује рад изјаве о приносу

#дефинисање бројчане променљиве

нум1=10

#дефинисање бројчане променљиве

нум2=двадесет

#креирање функције за извођење аритметичких операција

деф матхОП():

#израчунавање укупне вредности

приноснум1+нум2

#израчунавање разлике

приноснум1-нум2

#израчунавање вредности множења

приноснум1*нум2

#израчунавање вредности поделе

приноснум1/нум2

#позивање функције

принт('Штампање вредности:')

#користећи фор лооп за приступ вредностима из објекта генератора

заја у матхОП -у():

принт(и)

Оутпут

Пример 2: Повратак у односу на принос

Погледајмо још један пример изјава о приносу и приносу. У датом примеру имамо листу бројева која се прослеђује функцији мод () као аргумент. Изводимо операцију модула на сваком броју листе и проверавамо који су то бројеви подељени са 10 и враћа нулу као преосталу вредност.

Прво, имплементирајмо овај пример у нашу Питхон скрипту са наредбом ретурн.

#дефинисање листе бројева

моја листа=[10,двадесет,25,30,35,40,педесет]

#дефинисање функције за извођење операције модула

деф мод(моја листа):

заја на мојој листи:

#извођење модуларне операције

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

повратаки

принт(против(моја листа))

Оутпут

Наредба ретурн само враћа први број позиваоцу и завршава извршавање функције.

Сада, применимо исти пример у нашој Питхон скрипти са изјавом ииелд.

#дефинисање листе бројева

моја листа=[10,двадесет,25,30,35,40,педесет]

#дефинисање функције за извођење операције модула

деф мод(моја листа):

заја на мојој листи:

#извођење модуларне операције

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

#изјава о приносу

приноси

заја у мод(моја листа):

принт(и)

Оутпут

Закључак

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