Generatorius – tai funkcija, kuri grąžina iteratorių, leidžiantį paeiliui gauti reikšmes, nenaudojant papildomos atminties visiems duomenims iš karto.
Pagrindinės savybės:
- Sukuria reikšmes „pagal poreikį“ (lazy evaluation).
- Naudoja `yield` vietoj `return`.
- Išlaiko būseną tarp iškvietimų.
Pavyzdys Python:
python
def skaiciu_generatorius(n):
for i in range(n):
yield i
gen = skaiciu_generatorius(3)
print(next(gen)) 0
print(next(gen)) 1
Praktinis panaudojimas:
- Apdorojant didelius failus eilutėmis.
- Generuojant begalines sekas (pvz., Fibonačio).
- Sutaupant atmintį, kai nereikia visų duomenų iš karto.
Jūsų pataisymai bus išsiųsti moderatorių peržiūrai, jei informacija tikslesnė/taisyklingesnė
ji bus patalpinta vietoj esamos.