63 lines
2.0 KiB
Markdown
63 lines
2.0 KiB
Markdown
Lang: fr
|
||
Slug: python-avance
|
||
Title: Python avancé
|
||
|
||
C’est la seconde de mes deux formations Python. Alors que la
|
||
[formation *initiation*]({filename}/pages/python-initiation.md)
|
||
enseigne l’utilisation des classes et bibliothèques pour créer des
|
||
programmes simples, la formation *Python avancé*, de l’autre côté du
|
||
miroir, enseigne la création de ces classes et bibliothèques pour
|
||
créer des bibliothèques réutilisables dans des programmes
|
||
arbitrairement complexes.
|
||
|
||
|
||
## Objectifs
|
||
|
||
À la fin de cette seconde formation les stagiaires maîtrisent Python
|
||
dans l’objectif de produire un code *lisible*, *maintenable*, et
|
||
*testé* sur tout type de projet.
|
||
|
||
L’accent est mis sur le partage et la réutilisation du code :
|
||
|
||
- Création de bibliothèque (modules, paquets).
|
||
- Packaging et distribution de ces bibliothèques.
|
||
- Gestion des dépendances d’une bibliothèque et d’un l’utilisant.
|
||
- Test et documentation d’une bibliothèque packagée.
|
||
|
||
|
||
## Prérequis
|
||
|
||
Le pré-requis de ce module est d’avoir suivi, ou d’avoir un niveau
|
||
équivalent, à la formation [Python
|
||
*initiation*]({filename}/pages/python-initiation.md), c’est-à-dire :
|
||
être capable de lire et de modifier du Python, être capable de
|
||
résoudre des problèmes simples en Python.
|
||
|
||
|
||
## Le contenu
|
||
|
||
- Les différents protocoles de Python (le protocole d’itération, « les dunder », …).
|
||
- Les classes et leurs instances (où on parle de la MRO, de `super()`, …).
|
||
- Le protocole descripteur.
|
||
- Le *garbage collector*.
|
||
- Les *floats* et l’IEEE 754.
|
||
- Créer et gérer les exceptions, le `else` et le `finally` du `try`.
|
||
- Les gestionnaires de contexte.
|
||
- Les décorateurs.
|
||
- Les listes en compréhension.
|
||
- L’opérateur *walrus* (`:=`).
|
||
- L’encodage des chaînes de caractères.
|
||
- Le packaging (`pyproject.toml`, `python -m build`, `twine`, …).
|
||
- L’asynchrone avec `async` et `await`.
|
||
|
||
|
||
## Durée
|
||
|
||
Cette formation se déroule idéalement en cinq jours, mais elle est
|
||
réalisable en 3 jours.
|
||
|
||
|
||
## Contact
|
||
|
||
Pour en savoir plus, contactez-moi par email : julien at palard.fr.
|