Python
Apprenez Python de A à Z. Syntaxe, structures de données, POO, générateurs, async, tests et packaging.
19 leçons, dans l’ordre
- 120 min
Bonjour, Python
Bienvenue. Si vous n'avez jamais écrit de code, vous êtes au bon endroit. Python est un langage de programmation, c'est-à-dire une façon de donner à...
VariablesPrintRepl - 225 min
Nombres et chaînes de caractères
Bon retour parmi nous. Dans la leçon 01, vous avez exécuté votre premier fichier Python et appris qu'une variable est une boîte étiquetée qui...
IntegersFloatsString concatenationF-strings - 315 min
Poser une question à l'utilisateur
Jusqu'ici, vous avez écrit des programmes qui font toujours la même chose quand vous cliquez sur le bouton de lecture. Exécutez-les dix fois, vous...
Input()String return typeInt() and float() conversionInteractive programs - 430 min
Flux de contrôle
Jusqu'ici vos programmes se déroulaient tout droit, de haut en bas, une ligne après l'autre. C'est très bien pour dire bonjour, mais la plupart des...
If/elif/elseComparison operatorsBoolean operatorsWhile loopsFor loopsBreak and continue - 530 min
Listes et tuples
Jusqu'ici, chaque variable contenait une seule valeur : un nombre, une chaîne de caractères. Les vrais programmes ont presque toujours besoin de...
List creationIndexingSlicingAppendPopIteration+2 - 630 min
Dictionnaires et ensembles
Bon retour parmi nous. Les listes sont formidables quand l'ordre compte et qu'on va chercher les éléments par position, mais beaucoup de données...
Dict basicsGet with defaultIterate keysIterate valuesIterate itemsSets+1 - 730 min
Fonctions
Content de vous revoir. Jusqu'ici vous avez utilisé quelques fonctions livrées avec Python, comme print() et len(). Dans cette leçon, vous allez...
DefParametersDefault valuesKeyword arguments*args and **kwargsReturn values+1 - 825 min
Comprehensions
Vous savez déjà écrire une boucle for qui construit une nouvelle liste, un nouveau dictionnaire ou un nouvel ensemble élément par élément. Une...
List comprehensionsDict comprehensionsSet comprehensionsConditional expressionsGenerator expressionsReadability tradeoffs - 930 min
Fichiers et IO
Un programme qui se contente d'afficher dans le terminal oublie tout dès qu'il se termine. L'étape suivante, celle qui rend Python subitement utile,...
Open with withReading linesWriting filesPathlib.PathJson readJson write - 1030 min
Modules et Packages
Jusqu'ici, chaque programme tenait dans un seul fichier. C'est très bien tant qu'on apprend, mais un vrai projet répartit son code sur de nombreux...
ImportFrom importWriting your own moduleIf __name__ == "__main__"Packages__init__.py - 1135 min
Classes et OOP
Bienvenue dans l'une des grandes idées de Python. Jusqu'ici vous avez utilisé les outils fournis par le langage (chaînes, listes, dictionnaires,...
Class definition__init__Instance attributesClass attributesMethods__repr__ - 1230 min
Héritage et composition
Dans la leçon 10, vous avez construit des classes en partant de zéro. Dans le vrai code, les classes vivent rarement seules. Parfois une classe est...
SubclassingSuper()Method overridingCompositionWhen to choose composition - 1330 min
Gestion des exceptions
Vous avez déjà croisé des erreurs. Chaque fois que vous avez mal orthographié un nom, divisé par zéro ou demandé à une liste un index qui n'existait...
TryExceptElseFinallyRaiseCustom exception classes+1 - 1430 min
Iterators et Generators
Vous savez déjà écrire for item in something: depuis les leçons précédentes. Ici, nous allons regarder la machinerie et découvrir ce que Python fait...
Iterator protocolYieldGenerator functionsGenerator expressionsLazy evaluation - 1530 min
Decorators
Bienvenue dans l'un des sujets les plus délicats de Python. Un décorateur est un petit emballage que vous placez autour d'une fonction pour lui...
Functions are objectsWrapper functions@decorator syntaxFunctools.wrapsParametrized decorators - 1625 min
Context Managers
Content de vous revoir. Depuis la leçon 08, vous écrivez with open(...) as f: en faisant confiance au fait que le fichier sera fermé à la fin du...
With statement__enter__ and __exit__Writing your own context managerContextlib.contextmanager - 1740 min
Concurrence : threads et Async
Bon retour. Jusqu'ici, nos programmes faisaient une seule chose à la fois, de haut en bas, et cela fonctionnait très bien. Les ennuis commencent...
GIL in plain languageConcurrent.futures.ThreadPoolExecutorAsyncio basicsAsync defAwaitWhen to use threads vs async - 1835 min
Tester avec pytest
Bon retour parmi nous. Jusqu'ici, vous exécutiez du code et vous vérifiiez la sortie avec vos yeux. Cela marche sur quelques lignes, mais dès que...
Test functionsAssertRunning pytestParametrizeFixtures - 1935 min
Empaquetage et déploiement
Jusqu'ici, vous avez écrit du Python que vous seul exécutez, en tapant python quelque_chose.py. Cette leçon porte sur la petite étape, presque...
Pyproject.tomlPip install -eConsole scriptsBuilding a wheelPublishing to PyPI
Apprenez Python dans votre langue
Chaque leçon, quiz et réponse du tuteur s’affiche dans votre langue. Le tuteur IA répond dans la langue que vous utilisez.
Roles that use Python
See how hiring teams interview engineers on Python, in production-like environments.
Senior Python Developer
Hire senior Python developers in real Django, FastAPI and Flask codebases with real load and real test suites. Live or take-home, fully recorded.
See the interviewBackend Engineer (Go, Rust, Java)
Hire backend engineers in real services with real databases, real concurrency and real latency budgets. Live or take-home, fully recorded.
See the interviewData Engineer
Hire data engineers in workspaces with real Spark, dbt and Airflow pipelines. Schema drift, bad data and reruns included.
See the interview