Exercices de Code

Pratique Python, IA Engineering et bien plus avec des exercices interactifs et des tests automatiques.

🎓 Parcours guidé Les sections dans l'ordre, étape par étape. 🔍 Explorer librement Par thème, niveau ou recherche.
Tous niveaux Débutant Intermédiaire Avancé
Tous les sujets Les Bases Python (71) Structures de données (40) Fonctions & Modules (106) POO (53) Architecture & Patterns (57) Algorithmes (47) Concepts Web & Django (50) IA & Data Science (22) Prompt Engineering (15) Projets guidés (81) Django Avancé (18) AI Engineering (19) Machine Learning (30) Entraîner son LLM (15) Computer Vision (18)
Débutant 🧠 Fondamentaux POO GRATUIT

La méthode __str__

Quand tu fais print() sur un objet, Python cherche une méthode speciale appelee __str__ pour savoir comment l'afficher. Sans cette méthode, tu obtiens quelque chose …

10 XP 0 réussites
Résoudre →
str méthode-speciale formatage
Débutant 🧠 Fondamentaux POO GRATUIT

Une méthode d'instance

Une méthode, c'est une fonction qui appartient a une classe. Elle a toujours self comme premier paramètre, ce qui lui donne acces aux attributs de …

10 XP 0 réussites
Résoudre →
méthode self état
Débutant 🧠 Fondamentaux POO

Méthode avec paramètre

Une méthode peut prendre des paramètres en plus de self. Ces paramètres fonctionnent exactement comme pour une fonction normale. Par exemple : class Personne: def …

10 XP 0 réussites
Résoudre →
méthode paramètre encapsulation
Débutant 🧠 Fondamentaux POO

Méthode qui renvoie un booleen

Une méthode peut renvoyer n'importe quel type de valeur, y compris un booleen (True ou False). C'est tres utile pour tester une condition liee a …

10 XP 0 réussites
Résoudre →
méthode booleen rectangle
Débutant 🧠 Fondamentaux POO

Plusieurs instances independantes

Un point essentiel de la POO : chaque objet a ses propres données. Si tu créés deux instances d'une meme classe, modifier l'une ne change …

10 XP 0 réussites
Résoudre →
instances independance méthode
Intermédiaire 🧠 Fondamentaux POO

La méthode __repr__

Python a deux méthodes pour convertir un objet en chaine : __str__ et __repr__. La difference : - __str__ est pour l'affichage humain (utilisee par …

20 XP 1 réussite
Résoudre →
repr str méthode-speciale
Intermédiaire 🧠 Fondamentaux POO

Attribut de classe

Jusqu'ici, on a vu des attributs d'instance (propres a chaque objet, definis avec self.attribut). Mais il existe aussi des attributs de classe : ils sont …

20 XP 0 réussites
Résoudre →
attribut-classe partage tva
Intermédiaire 🧠 Fondamentaux POO

Méthode statique

Une méthode statique est une fonction definie dans une classe mais qui n'a acces ni a l'instance (self) ni a la classe (cls). C'est juste …

20 XP 0 réussites
Résoudre →
staticmethod utilitaire conversion
Intermédiaire 🧠 Fondamentaux POO

Méthode de classe

Une méthode de classe est liee a la classe elle-meme, pas a une instance particuliere. Elle recoit cls (la classe) comme premier paramètre au lieu …

20 XP 0 réussites
Résoudre →
classmethod constructeur-alternatif
Intermédiaire 🧠 Fondamentaux POO GRATUIT

Héritage simple

L'héritage permet a une classe de récupérer les attributs et méthodes d'une autre classe. On dit que la classe enfant herite de la classe parent. …

20 XP 0 réussites
Résoudre →
héritage super surcharge
Intermédiaire 🧠 Fondamentaux POO

super() et initialisation

Quand une classe enfant a son propre __init__, elle doit appeler le __init__ du parent avec super().__init__(...). Sinon, les attributs du parent ne seront pas …

20 XP 0 réussites
Résoudre →
super héritage hierarchie
Intermédiaire 🧠 Fondamentaux POO

Surcharge de méthode

Quand une classe enfant definit une méthode qui existe deja dans la classe parente, on dit qu'elle la surcharge (override). L'enfant remplace le comportement du …

20 XP 0 réussites
Résoudre →
surcharge polymorphisme héritage
Intermédiaire 🧠 Fondamentaux POO

isinstance et hierarchie

La fonction isinstance(objet, classe) te permet de vérifier si un objet est une instance d'une classe ou d'une de ses sous-classes. C'est different de type() …

20 XP 0 réussites
Résoudre →
isinstance type comptage
Intermédiaire 🧠 Fondamentaux POO

Etendre une méthode du parent

Parfois, tu ne veux pas remplacer completement une méthode du parent, mais l'etendre : faire ce que fait le parent, puis ajouter quelque chose. Pour …

20 XP 0 réussites
Résoudre →
super extension héritage
Intermédiaire 🧠 Fondamentaux POO

Compteur d'instances avec attribut de classe

Un cas d'usage classique des attributs de classe, c'est compter combien d'instances ont ete créées. L'idee est simple : un compteur au niveau de la …

20 XP 0 réussites
Résoudre →
attribut-classe compteur gestion
Intermédiaire 🧠 Fondamentaux POO

Classe complete : Pile (Stack)

Une pile (stack en anglais), c'est comme une pile d'assiettes : tu ne peux ajouter ou retirer que l'élément du dessus. On appelle ca LIFO …

20 XP 0 réussites
Résoudre →
pile structure-données complet
Avancé 🧠 Fondamentaux POO

Classe complete : Carnet de contacts

On va construire un petit carnet de contacts, un cas realiste qui combine tout ce qu'on a vu : classes, attributs, méthodes, __str__, et interaction …

30 XP 0 réussites
Résoudre →
classe-complete collection cas-reel
Avancé 🧠 Fondamentaux POO

Système de notification (héritage)

En situation professionnelle, l'héritage sert souvent a definir un comportement commun dans une classe de base, puis a specialiser ce comportement dans des sous-classes. Voici …

30 XP 0 réussites
Résoudre →
héritage polymorphisme cas-reel
Débutant 🧠 Fondamentaux POO GRATUIT

Comparer deux objets avec __eq__

Quand tu compares deux objets avec ==, Python appelle en coulisses une méthode speciale : __eq__. Par défaut, == vérifie si les deux variables pointent …

10 XP 0 réussites
Résoudre →
poo __eq__ dunder
Débutant 🧠 Fondamentaux POO GRATUIT

Trier des objets avec __lt__

Pour pouvoir trier des objets avec sorted(), Python a besoin de savoir comment les comparer. Il utilise la méthode speciale __lt__ (lt pour less than, …

10 XP 0 réussites
Résoudre →
poo __lt__ sorted
Débutant 🧠 Fondamentaux POO GRATUIT

Additionner des objets avec __add__

L'operateur + entre deux objets appelle la méthode __add__. C'est ce qu'on appelle la surcharge d'operateur : tu redefinies ce que + fait pour ta …

10 XP 0 réussites
Résoudre →
poo __add__ __str__
Intermédiaire 🧠 Fondamentaux POO

Classe Distance complete

Maintenant que tu connais __add__ et __sub__, on va créer une classe plus complete. En plus d'additionner et soustraire des distances entre elles, on veut …

20 XP 0 réussites
Résoudre →
poo surcharge operateurs
Intermédiaire 🧠 Fondamentaux POO

Comparaison complete avec __eq__ et __lt__

En definissant seulement __eq__ et __lt__, Python peut deduire les autres comparaisons si tu utilises le decorateur @functools.total_ordering. Mais pour cet exercice, on va les …

20 XP 0 réussites
Résoudre →
poo comparaison dunder
Débutant 🧠 Fondamentaux POO GRATUIT

Decouvrir @property

En Python, par convention, un attribut qui commence par un underscore (comme _age) est considere comme prive. Ca veut dire qu'on ne devrait pas y …

10 XP 0 réussites
Résoudre →
poo property encapsulation
← Précédent Page 2 / 3 Suivant →