Aperçu du cours
Objectifs de formation : À l’issue de la formation, le stagiaire sera capable d’utiliser les fonctionnalités avancées de Python ainsi que les principaux outils associés au langage, pour pouvoir répondre aux exigences de programmation.
Programme d'études
-
Introduction & révision des notions de base
-
Affectation par référence
-
Types de données modifiables & non-modifiables
-
Passage d’arguments, valeurs par défaut et variables locales
-
Variables de classe et d’instances
-
Les slices et structures de données avancées
-
L’introspection
-
Les structures de contrôles : else, for, while, try/except
-
Travaux pratiques : intersection de listes et calcul de complexité d’algorithmes
-
-
Découverte des fonctions avancées du langage
-
Les décorateurs : génération à consommation et pipelines
-
Les design patterns & les décorateurs
-
Fermeture/closure
-
Travaux pratiques : chaînage de consommateurs de données, abonnement à des événements via les décorateurs
-
-
POO avancée
-
Property
-
Itérateurs
-
Héritages multiples : intérêts et défauts
-
ABC : classes et méthodes abstraites
-
Context manager
-
Les métaclasses
-
Travaux pratiques : Implémenter une métaclasse & créer une classe de type Singleton
-
-
Déploiement et qualité
-
pip & easy_install : installation de librairies tierces
-
PyPI
-
Packager ses librairies
-
Le déploiement d’un environnement autonome
-
Travaux pratiques : Packager une librairie et la déposer sur PyPI
-
-
Améliorer les performances : le parallélisme
-
Profilage des programmes
-
Parallélisation
-
La librairie Celery : les calculs distribués
-
Travaux pratiques : Répartition et consolidation de calculs sous Celery
-
-
Présentation de librairies
-
Les calculs scientifiques et statistiques
-
IA et algorithmes d’apprentissage
-
Recherche d’informations au sein de fichiers XML
-
Twisted et PySNMP
-
Travaux pratiques : découverte et manipulation des différentes librairies présentées
-