Comprendre les générateurs de Python
se plonger dans le monde des générateurs Python peut être perplexe, surtout si vous êtes habitué à l'écosystème java. Contrairement au modèle de filetage de Java, les générateurs de Python servent un objectif distinct.
Définition et implémentation
Un générateur est une fonction qui utilise le mot clé de rendement pour renvoyer un itérateur. Lorsqu'il est appelé, le générateur génère une séquence de valeurs une à la fois. Au lieu de calculer et de stocker la séquence entière en mémoire, les générateurs donnent des valeurs à la demande.
Considérez l'exemple suivant:
def my_gen(n): yield n yield n 1
Appel My_gen (6) crée un objet qui donne les valeurs 6 et 7 lorsqu'il est itéré:
g = my_gen(6) next(g) # Output: 6 next(g) # Output: 7
Pour les boucles, appelez automatiquement ensuite pour vous, ce qui facilite la diffusion de la séquence:
for n in my_gen(6): print(n) # Output: # 6 # 7
Avantages des générateurs
Les générateurs offrent plusieurs avantages:
def fib(): a, b = 0, 1 while True: yield a a, b = b, a b
Conclusion
Les générateurs sont un outil puissant de Python qui fournit une efficacité de mémoire, une succisse et la capacité de représenter des flux infinis. En exploitant la puissance des générateurs, vous pouvez améliorer la flexibilité et la capacité de votre code Python.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3