Description
Ce programme de formation vise à approfondir les compétences en Python, en s'adressant aux développeurs souhaitant maîtriser des techniques avancées et des bibliothèques essentielles. Les participants exploreront l'historique de Python, les environnements de développement, ainsi que des concepts avancés tels que la gestion des exceptions, la programmation orientée objets, et le parallélisme. De plus, la formation couvre l'exploitation de bibliothèques pour le traitement des données, le calcul scientifique et le machine learning, tout en abordant le packaging et le déploiement des projets Python.
Objectifs
- Utiliser les techniques avancées du langage Python : Context Manager, métaclasses, closures, fonctions avancées Optimiser les performances de vos programmes à l'aide du monitoring et du parallélismePackager et déployer ses artefacts PythonExploiter des librairies contribuant au succès du langage : calcul scientifique, Intelligence Artificielle, XML, réseau
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é
Exploiter des librairies contribuant au succès du langage
- Historique de python
- Panorama des solutions Python
- Environnements de développement
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
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
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
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
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
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
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
Exploiter des bibliothèques contribuant au succès du langage (3/5)
- Taitement 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
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
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