Un générateur est une fonction qui produit des valeurs paresseusement, une à la fois, en utilisant le mot-clé yield au lieu de return. Il calcule chaque valeur à la demande plutôt que de construire le résultat entier en mémoire — idéal pour les grandes ou infinies séquences.
yield vs return
():
[i ** i (n)]
():
i (n):
i **
sq gen_squares():
(sq)
