Description
Le langage Python s’est imposé comme un langage majeur du développement d’application. Il allie une syntaxe simple et performance. Il couvre tous les domaines du développement et sa communauté importante propose des bibliothèques qui font référence. De nombreux domaines spécialisés sont couverts comme le développement web, le calcul scientifique, les data sciences, l’intelligence artificielle ou les SIG.
A l’issue de la formation, le stagiaire sera capable d’utiliser Python pour développer des applications performantes et optimisées.
Objectifs
- Approfondir la connaissance des concepts avancés de Python
- Utiliser les techniques avancées du langage Python
- Optimiser les performances de vos programmes à l'aide du monitoring et du parallèlisme
- Packager et déployer ses artefacts Python
- Exploiter les librairies contribuant au succès du langage (data science & machine Learning, cybersécurité, développement web, logiciels et outils…)
Récapitulatif
Certification (optionnel)
Test adaptatif de 30 à 35 questions (la difficulté des questions évolue en fonction de vos réponses précédentes). Durée : 1h00. Questions à choix multiples et manipulations
Formation éligible CPF (certificateur Isograd)
Code RS ou RNCP : RS6962
Intitulé de la certification : Programmer et automatiser des tâches avec Python (Tosa)
Date enregistrement : 18-12-2024. Validité : 18-12-2027
Public
Ingénieurs et développeurs
Prérequis
Niveau : Disposer de bonnes connaissances en développement Python
Techniques (formations en classe virtuelle) : Vous devez disposer d'un ordinateur connecté à internet, d'un micro et d'une caméra
Méthodes et modalités pédagogiques
Formation réalisée en Présentiel, Distanciel ou Dual-Learning selon la formule retenue.
Moyens et supports pédagogiques
Mise à disposition d'un poste de travail sur nos formations en Présentiel.
Mise à disposition de nos environnements de visio sur nos formations en Distanciel
Remise d'une documentation pédagogique numérique pendant la formation
La formation est constituée d'apports théoriques, d'exercices pratiques et de réflexions
Dans le cas d'une formation sur site Entreprise, le client s'engage à avoir toutes les ressources pédagogiques nécessaires (salle, équipements, accès internet, TV ou Paperboard...) au bon déroulement de l'action de formation conformément aux prérequis indiqués dans le programme de formation
Modalités de suivi et d'évaluations
Auto-positionnement des stagiaires avant la formation
Émargement des stagiaires et formateur par 1/2 journée
Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires
Auto-évaluation des acquis de la formation par les stagiaires
Questionnaire de satisfaction à chaud et à froid à l'issue de la formation
Programme détaillé
Approfondir la connaissance des concepts avancés de Python
- Historique de Python
- Panorama des solutions Python
- Environnements de développement
- Exemple de Travaux Pratiques : Prendre en main son environnent de travail pour la formation : IDE, interprète python ou ipython, jupyter notebook et lab, gestionnaires de dépendances pip ou conda.
Utiliser les techniques avancées du langage Python (1/3)
- Gestion avancée des paramètres de fonctions
- Collections simples et avancées
- Itérateurs et générateurs avancés
- Expression for, list et dict comprehension
- Map/reduce et évaluation paresseuse
- Exemple de Travaux Pratiques : Ecrire un pipeline map/reduce de traitement statistique de données sur des films de cinéma. Combiner avec un deuxième traitement sur les réalisateurs de films
Utiliser les techniques avancées du langage Python (2/3)
- Gestion et définitions des exceptions
- Utilisation d'un context manager
- Méthodes asynchrones
- Typage avec les hints
- Exemple de Travaux Pratiques : Écrire une fonction de traitement d'un fichier gérant proprement l'ouverture/fermeture de la ressource et les traitements d'erreurs associés.
Utiliser les techniques avancées du langage Python (3/3)
- Programmation Orientée Objets avancée
- Les propriétés
- Implémentation d'opérateur, builtin fonction ou context manager
- Héritage multiple et algorithme MRO
- Les décorateurs
- Variable et méthode de classe
- Classes abstraites et interfaces
- Métaclasses
- Introspection
- Exemple de Travaux Pratiques : Écrire une arborescence de classes représentant des figures géométriques : classe abstraite Figure, interface Mesurable2D et classes concrètes Point, PointPondéré, PointColoré, PointPondéréColoré, Cercle, Polygone
Optimiser les performances de vos programmes à l'aide du monitoring et du parallèlisme
- Programmation parallèle et concurrente
- Multi threading
- Multi process
- Pool de threads ou process
- Objets futurs
- Synchronisation
- Paradigme de la concurrence
- Exemple de Travaux Pratiques : Écrire un programme Producteur/Consommateur qui permet en parallèle d'écrire et lire dans un buffer.
Packager et déployer ses artefacts Python
- Installer des librairies tierces
- Établir la liste de dépendances de son projet
- Packager ses librairies
- Environnement virtuel
- Profiler son code
- Tests unitaires
- Exemple de Travaux Pratiques : Collecter les dépendances d'un projet pour le rendre portable dans une équipe de projet et les rendre indépendant d'autres projets en cours avec un environnement virtuel dédié.
Exploiter des librairies contribuant au succès du langage (1/5)
- XML et Web Scraping
- Packages xml, lxml, Beautiful Soup
- Lire un document XML ou HTML
- Valider un document XML avec un schema XSD
- Chemins XPath et sélecteurs CSS
- Transformation python ou XSL
- Enregistrement
- Exemple de Travaux Pratiques : Exploiter une liste de films au format XML. Trouver des informations dans une page HTML de présentation d'un film.
Exploiter des librairies contribuant au succès du langage (2/5)
- Calcul Scientifique avec Numpy et SciPy
- Les types numériques
- Les tableaux à N dimensions
- Les statistiques
- Graphiques avec Matplotlib
- Exemple de Travaux Pratiques :
- Prévoir la taille mémoire d'une matrice nxn en fonction du type numérique utilisé (entiers ou flottants).
- Créer une matrice nxn de nombres flottants double précision remplie avec des nombres aléatoires suivant une distribution de Gauss centrée sur la valeur 14 avec un écart type de 3.6. Calculer sa moyenne et son écart type pour vérification. Calculer la médiane, le 1er quartile, percentile délimitant le TOP 5 %. Vérifier chacune des statistiques en comptant le nombre de valeurs au-dessous et au-dessus du Afficher la courbe de Gauss dans un graphique de type histogramme.
Exploiter des librairies contribuant au succès du langage (3/5)
- Traitement des données avec Pandas
- Les Dataframes
- Import/export des données
- Nettoyer, filtrer, transformer les données
- Combiner les données
- Grouper pour faire des statistiques
- Exemple de Travaux Pratiques : Ecrire un traitement de données sur des films cumulant des données CSV, Excel et d'une base de données relationnelle afin de faire des statistiques. Présenter les résultats dans des graphiques et les sauvegarder dans un fichier Excel.
Exploiter des librairies contribuant au succès du langage (4/5)
- Frameworks de Machine Learning
- TensorFlow, Keras et ScikitLearn
- Réseau de neurones
- Régressions
- Apprentissage
- Prédiction
- Exemple de Travaux Pratiques : Écrire un algorithme d'apprentissage de reconnaissance de vêtements. Faire une classification de vêtements.
Exploiter des librairies contribuant au succès du langage (5/5)
- Frameworks web/rest et ORM
- Django, Flask et Fast Api
- ORM SQL Alchemy
- API Rest Rest
- Routage et méthodes HTTP
- DTO typé pour valider les données
- Conversion JSON
- Exemple de Travaux Pratiques : Écrire une API Rest avec les opérations basiques de CRUD sur une base de données relationnelle sur des films de cinéma.