Maîtriser les concepts avancés de Python, notamment la programmation orientée objet, l'écriture de packages, la qualité logicielle et l'optimisation des performances
- Rappels de Programmation Orientée Objet
- Types de base
- Création de classes
- Héritage, Polymorphisme...
- Traitement des Exceptions
- raise, try, except, finally
- Le "Data-Model" et les fonctions "magiques"
- Importations "avancées" - utilisation de . et ..
- Syntaxe avancée
- Listes en "compréhension"
- Itérateurs et générateurs
- Modules itertools, collections
- Lambda fonctions
- Décorateurs
- Instructions with et Contextlib
- Instruction yield
- Programmation asynchrone
- Coroutines
- Classes avancées
- Sous-classer les types de base
- Résolution des héritages multiples
- Cas de la méthode "super"
- Descripteurs __get__ et __set__
- Propriétés (properties)
- dict__ et __slots__
- Classes abstraites
- Méta-programmation
- Introduction à l'écriture de packages
- "Meilleures pratiques"
- setup.py et scripts de contrôle
- L'utilitaire pip
- Installer un package
- Désinstaller un package
- Enregistrer et uploader un package
- Qualité logicielle
- Annotations
- Respect de la PEP 8 - normes de codage
- Tests unitaires (doctest et unittest)
- Taux de couverture - coverage
- Solutions d'optimisation
- Réduction de la complexité
- Bytecode et le module "dis"
- Multithreading
- Multiprocessing
- Gestion des caches
- Profiling
- Analyse de l'occupation mémoire
- Interfaçage avec C / C++
- Objectif et principe
- SWIG
- Cython
- Le module ctypes
Attestation de formation
Non certifiante
Sans niveau spécifique