Μια γεννήτρια είναι μια συνάρτηση που παράγει τιμές τεμπέλικα, μία τη φορά, χρησιμοποιώντας τη λέξη-κλειδί yield αντί του return. Υπολογίζει κάθε τιμή κατά απαίτηση αντί να δημιουργήσει ολόκληρο το αποτέλεσμα στη μνήμη — ιδανικό για μεγάλες ή άπειρες ακολουθίες.
yield έναντι return
():
[i ** i (n)]
():
i (n):
i **
sq gen_squares():
(sq)
