Junior — Middle
Ποιες μεθόδους γνωρίζεις για τη δημιουργία γεννητριών σε Python;
sobes.tech AI
Απάντηση από AI
Στην Python, οι γεννήτορες μπορούν να δημιουργηθούν με δύο βασικούς τρόπους:
- Χρήση της λέξης-κλειδιού
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)
- Εκφράσεις γεννήτορα — παρόμοιες με τις κατανοήσεις λίστας, αλλά επιστρέφουν έναν γεννήτορα αντί για μια λίστα.
squares = (x*x for x in range(5))
for square in squares:
print(square)
Και οι δύο μέθοδοι επιτρέπουν την αργή δημιουργία ακολουθιών, εξοικονομώντας μνήμη.