Generatorius (yeald) - herburt30/info GitHub Wiki
Python yield – tai raktažodis, naudojamas funkcijose, kurios veikia kaip generatoriai. Jis leidžia funkcijai laikinai sustabdyti vykdymą ir grąžinti reikšmę, bet išsaugoti visą jos būseną, kad vėliau galėtų tęsti darbą nuo ten, kur buvo sustota.
- Kuo yield skiriasi nuo return?
RETURN
- Grąžina vieną reikšmę ir baigia funkciją
- Kitą kartą iš naujo vykdo funkciją
- Naudojamas paprastose funkcijose
YEALD
- Grąžina reikšmę ir sustabdo funkciją
- Kitą kartą tęsia nuo kur baigė
- Naudojamas generatoriuose
-
Kada naudoti yield?
-
Kai reikia grąžinti daug reikšmių po vieną, pvz., iš didelės sekos.
-
Kai norima taupyti atmintį, nes yield negrąžina visos sekos vienu metu.
-
Kai svarbus lazinis (lazy) duomenų generavimas.