Exercices de Code

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

Tous niveaux Debutant Intermediaire Avance
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)

Suivre un parcours

Python Fondamental 3 sections
Developpeur Python 6 sections
Algorithmes & Entretiens 3 sections
Web & Django 4 sections
IA & Machine Learning 4 sections
IA Generative & RAG 5 sections
Automatisation & Scripts 5 sections
Neurosciences & IA 5 sections
Vision par Ordinateur 4 sections
Intermédiaire 🧠 Fondamentaux POO GRATUIT

__eq__ et __lt__

Par défaut, deux objets Python ne sont egaux que s'ils sont le meme objet en mémoire. Pour comparer leur contenu, il faut definir __eq__ (egalite) …

20 XP 0 réussites
Résoudre →
__eq__ __lt__ comparaison
Intermédiaire 🧠 Fondamentaux POO GRATUIT

__add__ et __mul__

Python te permet de definir ce que font les operateurs + et * sur tes propres objets. __add__ est appele quand tu ecris a + …

20 XP 0 réussites
Résoudre →
__add__ __mul__ vecteur
Intermédiaire 🧠 Fondamentaux POO

__len__ et __getitem__

Python utilise des méthodes speciales pour les opérations courantes : __len__ est appelee par len(objet) __getitem__ est appelee par objet[index] __contains__ est appelee par élément …

20 XP 0 réussites
Résoudre →
__len__ __getitem__ __contains__
Intermédiaire 🧠 Fondamentaux POO GRATUIT

Classe abstraite

Une classe abstraite est un modèle qu'on ne peut pas instancier directement. Elle sert de contrat : elle dit "toute classe qui herite de moi …

20 XP 0 réussites
Résoudre →
ABC abstractmethod interface
Intermédiaire 🧠 Fondamentaux POO GRATUIT

Property basique

Une property permet de controler l'acces a un attribut. C'est comme un vigile a l'entrée d'un batiment : chaque fois que quelqu'un entre ou sort, …

20 XP 0 réussites
Résoudre →
property getter setter
Intermédiaire 🧠 Fondamentaux POO GRATUIT

Property calculée

Une property calculée est un attribut qui n'est pas stocke directement mais recalcule a chaque acces. Si tu ne definis pas de setter, la property …

20 XP 0 réussites
Résoudre →
property calculée lecture-seule
Intermédiaire 🧠 Fondamentaux POO GRATUIT

Héritage multiple et MRO

En Python, une classe peut heriter de plusieurs classes parentes en meme temps. C'est l'héritage multiple. Quand tu ecris class Canard(Volant, Nageant), le Canard herite …

20 XP 0 réussites
Résoudre →
héritage-multiple MRO mixin
Intermédiaire 🧠 Fondamentaux POO

super() dans une chaîne d'héritage

Quand une classe herite d'une autre, son __init__ doit souvent appeler le __init__ du parent pour initialiser les attributs herites. C'est le role de super().__init__(). …

20 XP 0 réussites
Résoudre →
super chaîne-héritage init
Intermédiaire 🧠 Fondamentaux POO

Mixin de journalisation

Un mixin est une classe concue pour etre heritee en complement d'une autre. Elle apporte une fonctionnalité transversale (comme le logging, la serialisation, etc.) sans …

20 XP 0 réussites
Résoudre →
mixin logging héritage-multiple
Intermédiaire 🧠 Fondamentaux POO GRATUIT

Dataclass basique

En Python, quand tu créés une classe avec des attributs, tu dois écrire __init__, __repr__, __eq__... C'est beaucoup de code repetitif. Le decorateur @dataclass génère …

20 XP 0 réussites
Résoudre →
dataclass annotations __eq__
Intermédiaire 🧠 Fondamentaux POO

Dataclass avec valeurs par défaut

Dans une dataclass, tu peux donner des valeurs par défaut a certains champs. C'est comme les paramètres optionnels d'une fonction : ceux avec une valeur …

20 XP 0 réussites
Résoudre →
dataclass valeur-défaut field
Intermédiaire 🧠 Fondamentaux POO GRATUIT

Enum avec auto()

Un Enum (enumeration) représente un ensemble fixe de valeurs possibles. C'est comme les jours de la semaine : il y en a exactement 7, ni …

20 XP 0 réussites
Résoudre →
enum auto valeurs
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 0 réussites
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
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
Page 1 / 2 Suivant →