PaliSkill
← Retour au catalogue
Avancé~17h97 leçons

Python avancé

Orienté objet, décorateurs, pandas, requests et structure de projet

Objectif pédagogique

À la fin de ce module, vous saurez programmer orienté objet, utiliser décorateurs, itérateurs et générateurs, manipuler des données avec pandas, interroger des APIs, et structurer un projet Python testable.

Commencer le module →

Chapitres

1

POO : les fondamentaux

Disponible
0/10

Une classe est un modèle pour créer des objets qui regroupent des données et des comportements liés. Un objet (ou instance) est un…

Voir les détails du chapitre
  • Créer une classe : class, __init__ et self
  • Attributs d'instance et attributs de classe
  • Définir des méthodes
  • Appeler une méthode depuis une autre méthode
  • Paramètres par défaut dans le constructeur
  • Représenter plusieurs objets dans une liste
  • Indications de type (type hints) de base
  • Modifier un attribut directement vs via une méthode
  • Plusieurs classes qui collaborent
  • Cas pratique : un catalogue de produits orienté objet
2

POO : héritage et polymorphisme

Disponible
0/9

L'héritage permet à une classe de reprendre automatiquement les attributs et méthodes d'une autre classe, pour éviter de dupliquer…

Voir les détails du chapitre
  • L'héritage : une classe qui hérite d'une autre
  • super() : appeler le constructeur de la classe parente
  • Redéfinir une méthode (override)
  • Étendre une méthode héritée avec super()
  • Le polymorphisme : une même méthode, des comportements différents
  • isinstance() : vérifier le type d'un objet
  • Hiérarchie de classes à plusieurs niveaux
  • Attributs supplémentaires dans une sous-classe
  • Cas pratique : une hiérarchie de comptes bancaires
3

POO : méthodes spéciales, propriétés et dataclasses

Disponible
0/9

Par défaut, sur un objet affiche un texte peu lisible comme . La méthode spéciale permet de définir un affichage clair, utilisé au…

Voir les détails du chapitre
  • __str__ : personnaliser l'affichage d'un objet
  • __repr__ : une représentation pour le débogage
  • __eq__ : comparer deux objets avec ==
  • Méthodes de classe avec @classmethod
  • Méthodes statiques avec @staticmethod
  • @property : accéder à une méthode comme un attribut
  • Un setter avec @property.setter
  • @dataclass : générer automatiquement __init__, __repr__ et __eq__
  • Cas pratique : une classe Produit complète
4

Décorateurs

Disponible
0/10

Python Intermédiaire a déjà montré qu'une fonction peut être passée en argument à une autre. Un décorateur pousse cette idée un cr…

Voir les détails du chapitre
  • Fonctions comme objets, sans le raccourci @
  • Le décorateur simple avec @
  • Décorer une fonction qui prend des arguments
  • Préserver l'identité de la fonction avec functools.wraps
  • Un décorateur qui prend lui-même des arguments
  • Plusieurs décorateurs empilés
  • Cas d'usage : chronométrer une fonction
  • Cas d'usage : une mise en cache simple
  • Unpacking à l'appel : *liste et **dict
  • Cas pratique : un décorateur de journalisation réutilisable
5

Itérateurs, générateurs et context managers

Disponible
0/10

Une boucle sur une liste fonctionne grâce à un mécanisme précis : Python appelle sur la liste pour obtenir un itérateur, puis appe…

Voir les détails du chapitre
  • Le protocole d'itération : __iter__ et __next__
  • Créer un itérateur personnalisé
  • Le mot-clé yield : une fonction génératrice
  • Générateur avec plusieurs yield et état conservé
  • Expressions génératrices
  • Un aperçu du module itertools
  • Comment fonctionne réellement with
  • Créer un context manager avec une classe
  • Créer un context manager avec @contextmanager
  • Cas pratique : un générateur de pagination et un context manager
6

Manipuler des données avec pandas

Disponible
0/10

pandas est une bibliothèque spécialisée dans la manipulation de données tabulaires (des tableaux, comme une feuille de calcul). So…

Voir les détails du chapitre
  • Créer un DataFrame à partir d'un dictionnaire
  • Charger un DataFrame depuis un fichier CSV
  • Explorer un DataFrame : .head(), .info(), .describe()
  • Sélectionner des colonnes
  • Filtrer des lignes avec une condition
  • Ajouter et modifier une colonne
  • Trier un DataFrame avec .sort_values()
  • Grouper et agréger avec .groupby()
  • Fusionner deux DataFrames avec pd.merge()
  • Cas pratique : analyser un petit jeu de ventes
7

Requêtes HTTP et APIs

Disponible
0/9

Une API (interface de programmation) permet à un programme de demander des données à un serveur distant, via le réseau. Le module…

Voir les détails du chapitre
  • requests.get() : récupérer des données depuis une API
  • Lire la réponse : status_code et .json()
  • Passer des paramètres avec params=
  • Gérer les erreurs HTTP avec raise_for_status()
  • requests.post() : envoyer des données
  • En-têtes (headers) : authentification et content-type
  • Timeout et exceptions réseau
  • Transformer une réponse JSON en données exploitables
  • Cas pratique : récupérer et traiter des données d'une API
8

Structurer et tester un projet

Disponible
0/10

Un fichier Python est un module : audelà de quelques centaines de lignes, tout regrouper dans un seul fichier devient difficile à…

Voir les détails du chapitre
  • Organiser un projet en plusieurs fichiers (modules)
  • Packages et __init__.py
  • Imports relatifs et imports absolus
  • Environnements virtuels avec venv
  • Gérer les dépendances avec pip et requirements.txt
  • Le module logging plutôt que print()
  • Lire des arguments en ligne de commande avec argparse
  • Tests avec assert, approfondi
  • Organiser des fonctions de test dans un fichier dédié
  • Cas pratique : un script en ligne de commande complet et testé
9

Mise en pratique : gestionnaire de tâches

Disponible
0/10

Ce chapitre construit un petit gestionnaire de tâches en ligne de commande, en réutilisant l'essentiel de ce module. Première étap…

Voir les détails du chapitre
  • Modéliser une tâche avec une classe
  • Une classe GestionnaireTaches pour regrouper les tâches
  • Ajouter et lister les tâches
  • Marquer une tâche comme terminée
  • Un décorateur pour journaliser les appels de méthode
  • Filtrer les tâches par statut
  • Trier les tâches par priorité
  • Sauvegarder et charger les tâches en JSON
  • Écrire des tests avec assert pour le gestionnaire
  • Cas pratique : un script complet en ligne de commande
10

Mise en pratique : pipeline d'analyse de données

Disponible
0/10

Ce dernier chapitre construit un minipipeline complet : récupérer des données, les analyser, les stocker, puis les visualiser. Pre…

Voir les détails du chapitre
  • Récupérer des données depuis une API
  • Charger les données en DataFrame pandas
  • Nettoyer et filtrer les données
  • Calculer des statistiques avec groupby
  • Sauvegarder les données dans une base SQLite
  • Interroger la base SQLite
  • Visualiser les données avec matplotlib
  • Personnaliser un graphique
  • Automatiser le pipeline en une fonction
  • Cas pratique : un mini-pipeline de données complet

Progression du module

0/97 terminées

Ce module inclut

  • 97 leçons · durée estimée ~17h
  • 194 exercices pratiques corrigés
  • Quiz de révision par chapitre
  • Quiz de fin de module
  • Certificat de réussite vérifiable
  • Accès permanent une fois débloqué
🔒

Votre certificat

Terminez ce module pour débloquer votre certification vérifiable.

Accès complet

La première leçon de chaque chapitre est gratuite (10 leçons sur 97).

2 500 XOF / 3,81 € / 4,15 $

Débloquez les 87 leçons restantes de ce module