mdk.fr/content/pages/python-avancé.md

63 lines
2.0 KiB
Markdown
Raw Normal View History

2023-01-25 08:50:14 +00:00
Lang: fr
Slug: python-avance
Title: Python avancé
2023-01-23 10:24:39 +00:00
Cest la seconde de mes deux formations Python. Alors que la
[formation *initiation*]({filename}/pages/python-initiation.md)
enseigne lutilisation des classes et bibliothèques pour créer des
programmes simples, la formation *Python avancé*, de lautre 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 lobjectif de produire un code *lisible*, *maintenable*, et
*testé* sur tout type de projet.
Laccent 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 dune bibliothèque et dun lutilisant.
- Test et documentation dune bibliothèque packagée.
## Prérequis
Le pré-requis de ce module est davoir suivi, ou davoir un niveau
équivalent, à la formation [Python
*initiation*]({filename}/pages/python-initiation.md), cest-à-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 dité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 lIEEE 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.
- Lopérateur *walrus* (`:=`).
- Lencodage des chaînes de caractères.
- Le packaging (`pyproject.toml`, `python -m build`, `twine`, …).
- Lasynchrone 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.