Sobes.tech
Junior — Middle

Milliseid meetodeid tead Pythonis generatorite loomiseks?

sobes.tech AI

Vastus AI-lt

Pythonis generatoriai gali būti kuriami dviem pagrindiniais būdais:

  1. Naudojant raktinę žodį yield funkcijoje — funkcija su yield grąžina generatorių, kurį galima iteruoti.
def count_up_to(n):
    count = 1
    while count <= n:
        yield count
        count += 1

for number in count_up_to(5):
    print(number)
  1. Generatorių išraiškos — panašios į sąrašų išraiškas, bet grąžina generatorių vietoj sąrašo.
squares = (x*x for x in range(5))
for square in squares:
    print(square)

Abiem būdais galima lėtai generuoti sekas, taupant atmintį.