Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Évaluation Paresseuse | Itérateurs et Générateurs
Concepts Avancés de Python
course content

Contenu du cours

Concepts Avancés de Python

Concepts Avancés de Python

1. Modules et Imports
2. Gestion des Erreurs
3. Gestion des Fichiers
4. Cadre Pytest
5. Cadre Unittest
6. Itérateurs et Générateurs

book
É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.

12345678910111213141516
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}")
copy

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 6. Chapitre 3
We're sorry to hear that something went wrong. What happened?
some-alt