Contenu du cours
Concepts Avancés de Python
Concepts Avancés de Python
Évaluation Paresseuse
Dans ce chapitre, nous introduisons le concept de l'évaluation paresseuse, une technique où les données sont produites uniquement lorsque nécessaire plutôt que d'être calculées et stockées à l'avance. L'évaluation paresseuse est une caractéristique clé des itérateurs et est particulièrement utile pour travailler avec de grands ensembles de données ou des séquences infinies.
Principaux avantages :
- Efficacité mémoire : un seul élément est généré à la fois ;
- Optimisation des performances : le calcul se produit uniquement lorsque nécessaire ;
- Support pour les séquences infinies : vous pouvez travailler avec des séquences de taille arbitraire sans manquer de mémoire.
Créons un lanceur de dés infini qui génère des lancers aléatoires à la demande. Cela garantit que nous n'avons jamais besoin de stocker tous les lancers en mémoire, peu importe combien de lancers nous effectuons.
import random # Infinite dice roller class InfiniteDiceRoller: def __iter__(self): return self def __next__(self): return random.randint(1, 6) # Using the infinite dice roller dice_roller = InfiniteDiceRoller() for i, roll in enumerate(dice_roller): if i >= 10: # Stop after 10 rolls break print(f"Roll {i + 1}: {roll}")
Tout était clair ?
Merci pour vos commentaires !
Section 6. Chapitre 3