2023-01-25 08:50:14 +00:00
|
|
|
|
Lang: fr
|
|
|
|
|
Slug: python-avance
|
|
|
|
|
Title: Python avancé
|
2023-01-23 10:24:39 +00:00
|
|
|
|
|
|
|
|
|
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.
|