Objectifs pédagogiques
A qui s’adresse cette formation ?
Prérequis
Programme de formation
Introduction à la formation Python Perfectionnement : rappels et notions avancées
Présentation générale de la formation Python avancé
Installation de Python, configuration d’un environnement de développement
Fonctions avancées, passage d’arguments
Les décorateurs
La fermeture (closure)
Les design patterns (types, application, recherche)
Exemples de cas pratiques : création d’un décorateur, suivre un design pattern (Factory, Singleton, …).
Programmation Orientée Objet avancée avec Python
L’introspection
Les propriétés
Les itérateurs et générateurs
Les classes abstraites
Les métaclasses
Les gestionnaires de contexte pour gérer les ressources
Exemples de cas pratiques : utilisation d’une classe et d’une méthode abstraite, implémentation d’une métaclasse.
Gestion des librairies
Le Python Package Index (PyPI)
Installer des librairies avec pip
Gestion des versions
Créer un environnement avec virtualenv
Construire un package de distribution avec setuptools
Exemple de cas pratique : portage de code entre différentes versions de Python, création d’environnements isolés avec virtualenv, packaging de librairies.
Traitement de données en Python
Les concepts de sérialisation et de désérialisation
Utiliser ElementTree pour extraire des données d’un fichier XML
Principes de base pour l’exploitation de bases de données
Accès à SQLite ou MySQL
Exemples de cas pratiques : recherche d’informations dans un fichier XML, création d’un programme Python pour accéder à une base MySQL, mise au point de requêtes.
Sockets et programmation réseau
Concepts réseaux
Introduction au module Socket, aux objets sockets et leurs méthodes
Les sockets en mode connecté (TCP), non connecté (UDP)
Exemple de cas pratiques : création d’un serveur/client socket
Amélioration des performances
Mesurer les performances des applications : timeit, cProfile et pstats
Bien choisir les structures de données
Les compréhensions de liste
Parallélisation : multithreading vs multiprocessing
Exemples de cas pratiques : mesure du temps d’exécution d’une fonction, profiling d’un programme, optimisation d’un code grâce à la compréhension de liste.
En apprendre davantage sur Python Perfectionnement
Python est un langage de programmation existant depuis 1991. Bien qu’ancien, il a su évoluer pour devenir aujourd’hui le 3ème langage le plus populaire selon le classement Tiobe (2019). Son caractère open-source et sa grande popularité lui octroient d’ailleurs une grande communauté qui propose de l’entraide et de nombreuses ressources (plus de 113 000 packages sur PyPI).
Python a aussi la particularité d’être un langage interprété, interactif, orienté objet et multi-plateforme tout en offrant une syntaxe simple, claire et compréhensible. C’est d’ailleurs en partie pour ce dernier point qu’il est souvent conseillé pour apprendre les bases de la programmation. Mais ce qui en fait un langage très adopté, c’est surtout sa polyvalence : elle lui permet d’être utilisé dans la science des données, le cloud computing, le développement web ou de manière plus spécifique au prototypage, au traitement de gros volumes de données (ex : Big Data) ou encore pour l’automatisation (ex : machine learning).












































