Sobes.tech
Junior — Middle

Ποιες μεθόδους γνωρίζεις για τη δημιουργία γεννητριών σε Python;

sobes.tech AI

Απάντηση από AI

Στην Python, οι γεννήτορες μπορούν να δημιουργηθούν με δύο βασικούς τρόπους:

  1. Χρήση της λέξης-κλειδιού yield σε μια συνάρτηση — μια συνάρτηση με yield επιστρέφει έναν γεννήτορα που μπορεί να επαναληφθεί.
def count_up_to(n):
    count = 1
    while count <= n:
        yield count
        count += 1

for number in count_up_to(5):
    print(number)
  1. Εκφράσεις γεννήτορα — παρόμοιες με τις κατανοήσεις λίστας, αλλά επιστρέφουν έναν γεννήτορα αντί για μια λίστα.
squares = (x*x for x in range(5))
for square in squares:
    print(square)

Και οι δύο μέθοδοι επιτρέπουν την αργή δημιουργία ακολουθιών, εξοικονομώντας μνήμη.