Développement
Python
Du langage aux classes, à l'async et à la métaprogrammation — du Python propre.
Le programme
12 modules- 01Code propreType hints, PEP8, docstrings, linting.4 leçons· Annote ton code avec les type hints· Écris du Python lisible avec PEP 8· Documente tes fonctions avec les docstrings· Détecte les erreurs automatiquement avec le linting
- 02Les basesVariables, fonctions, args/kwargs, built-in types, f-strings, fichiers.6 leçons· Les variables· Les types intégrés· Les f-strings· Les fonctions· Les arguments *args et **kwargs· Lire et écrire des fichiers
- 03Classes__init__, classmethod, staticmethod, property, visibilité, __repr__.6 leçons· Le constructeur __init__· Rendre un objet lisible avec __repr__· Visibilité : public, protégé, privé· Contrôler les attributs avec @property· Les méthodes de classe avec @classmethod· Les méthodes statiques avec @staticmethod
- 04Dunder methods__eq__, __add__, __len__, __iter__, __call__, context managers.5 leçons· Comparer des objets avec __eq__· Additionner des objets avec __add__· Donner une taille à tes objets avec __len__· Parcourir tes objets avec __iter__· Objets appelables et context managers
- 05Héritagesuper(), héritage multiple, MRO, mixins, ABC, duck typing.5 leçons· super() : appeler la classe parente· Héritage multiple : combiner plusieurs parents· MRO : l'ordre dans lequel Python cherche· Mixins : des briques de comportement réutilisables· ABC et duck typing : définir un contrat de classe
- 06Gestion d'erreurstry/except/else/finally, exceptions custom, chaining.4 leçons· Attraper les erreurs avec try/except· else et finally : aller plus loin avec try· Crée tes propres exceptions· Chaîner les exceptions avec raise from
- 07Générateurs & compréhensionsyield, itertools, lazy evaluation, comprehensions.4 leçons· yield : fabrique tes propres générateurs· Lazy evaluation : calculer seulement quand c'est nécessaire· Compréhensions : des collections en une ligne· itertools : la boîte à outils des itérateurs
- 08Décorateurs & dataclassesDécorateurs avec arguments, functools.wraps, dataclasses, slots.4 leçons· Décorateurs avec arguments· Préserver l'identité d'une fonction avec functools.wraps· Simplifier tes classes avec @dataclass· Optimiser la mémoire avec __slots__
- 09Type hints avancésOptional, Union, Generic, Protocol, TypedDict, overload.5 leçons· Optional et Union : décrire plusieurs types possibles· TypedDict : typer tes dictionnaires· Generics : écrire du code réutilisable avec n'importe quel type· Protocol : définir une interface sans héritage· overload : une fonction, plusieurs signatures
- 10Modules & packages__init__.py, import relatif vs absolu, namespace packages, __all__, packaging (pyproject.toml).4 leçons· Le fichier __init__.py· Imports relatifs et absolus· __all__ et namespace packages· Packager son projet avec pyproject.toml
- 11ConcurrenceThreading, multiprocessing, asyncio, le GIL.5 leçons· Tes premiers threads· Le GIL : le verrou secret de Python· Multiprocessing : le vrai parallélisme· asyncio : la concurrence sans threads· Choisir la bonne approche de concurrence
- 12MétaprogrammationMetaclasses, __new__, descripteurs, __getattr__.4 leçons· Les métaclasses : des classes qui créent des classes· __new__ : contrôle la naissance d'un objet· Les descripteurs : des attributs intelligents· __getattr__ : accéder à des attributs qui n'existent pas
Comment ça se passe
Chaque leçon est écrite, claire, droit au but. Tu lis, tu fais l'exercice, puis tu vois la correction sur la page suivante. Tu avances à ton rythme, sans rester bloqué — pas de vidéo de trois heures.