Formation Python, perfectionnement

Public admis

  • Salarié en Poste
  • Demandeur d'emploi
  • Entreprise
  • Etudiant

Financements

Eligible CPF Votre OPCO Financement personnel

Objectifs de la formation

Concrètement, à l'issue de cette formation Python Développement Avancé, vous saurez :

  • Optimiser vos programmes grâce au multi-threading et à la supervision (monitoring)
  • Connaître les manipulations avancées en Python : Context Manager, métaclasses, injection et introspection du code…
  • Maîtriser la manipulation des données
  • Connaître et savoir exploiter à un premier niveau les bibliothèques qui font (ou on fait) le succès de Python (Mathématiques, Scientifique, IA, Machine Learning, Réseau)

PLB CONSULTANT


Informatique et Management
Voir la fiche entreprise

Tarif

A partir de 2 440,00 €

Durée 4 jours (28h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

PLB CONSULTANT


Informatique et Management
Voir la fiche

Tarif

A partir de 2 440,00 €

Durée 4 jours (28h)
Modes
  • Centre
  • Entreprise
  • Distance
Sessions
Lieux Partout en France

Description

Cette formation Python Développement Avancé vous apprend à maîtriser les techniques avancées de programmation en Python que vos applications soient exigeantes (parallélisme, calcul scientifique, …) ou simplement soucieuses de profiter des possibilités de Python pour proposer des applications bien écrites et faciles à maintenir dans les projets professionnels. 

Le succès grandissant de Python s’explique en partie par la richesse de ses bibliothèques et notamment dans les domaines en expansion actuellement comme l’analyse de données, le calcul scientifique, ou encore le machine learning. Nous vous présentons ces bibliothèques (anciennes et récentes) qui ont contribué au succès de Python (NumPy, Pandas, Matplotlib, Ipython, SciPy, MapReduce, PySpark, PySNMP, …) à travers des exemples qui traduisent tout leur potentiel et qui vous feront gagner du temps pour une première utilisation.

Programme

J1

Rappels importants sur le langage et compléments

Le typage fort en Python
Schéma de fonctionnement de la mémoire d’un programme Python (variables locales, passage par valeur/référence, variables non mutable, etc.)
Rappels sur les différences entre tableaux, listes, dictionnaires, slices, etc.
Les fonctions anonymes (lambda)
Syntaxe d’appels étendus (*args, **kwargs)
Intérêts de déterminer le type d’un objet, d’une méthode, ou d’un module (introspection)
Exemple de synthèse sur les concepts objets en Python (classes, propriétés, méthodes, instances)
Exemple de synthèse sur la syntaxe du langage (variables, boucles, tests, exceptions, …)
Travaux pratiquesObjectif : Valider que les concepts et la syntaxe de Python sont maîtrisés 
Description : Quiz ludique (bêtisier des erreurs classiques en Python). Écriture d’une fonction qui extrait une sous liste à partir d’une liste selon une fonction de critères passée en argument. Écriture d’une fonction qui « nettoie » un tableau passé en argument selon un dictionnaire de symboles « interdits » et présents dans un fichier texte.

Packager et déployer votre code Python

En quoi consiste le packaging de code ?
Projet vs bibliothèque  
Comment décrire le module packagé (setup.py) ?
Le Python Package Index (PyPI, Métadonnées).
Les outils pour packager ses librairies (disutils, setuptools)
Installer des librairies tierces (pip, easy_install).
Isoler les environnements de différents projets (virtualenv)
Gérer un projet avec pipenv
Créer un wheel distribuable avec setup.cfg
Compiler le code Python en un exécutable avec nuitka
Travaux pratiquesObjectif : Valider que l’environnement de développement est maîtrisé ainsi que le packaging de ses applications
Description : Création d‘un environnement virtuel (virtualenv) pour tester l’installation de modules de versions différentes sur des versions différentes de Python (plusieurs projets sur une même machine sans interférence). Packaging de l’une de nos propres librairies et installation dans l’environnement virtualisé des autres participants.
J2

Manipulations avancées des primitives en Python

Générer du code à la volée : factories puis métaclasses
Décorateurs à plusieurs niveaux
Context manager et décorateur à la fois
Au delà de yield : la méthode send() des générateurs
Monkey paching et autres injections de code
Introspection du code
Travaux pratiquesObjectif : Savoir mettre en œuvre l’introspection et les factories
Description : Mise en œuvre de l’introspection (appel de fonction avec arguments dans le « désordre »)
Utilisation d’une classe différente selon le processus de connexion (login/password ou annuaire par exemple) avec les usines de classe (Factories)

Performances et parallélisation

Programmation non blocante avec les threads
Le GIL et les limites des threads
Exploiter plusieurs coeurs avec le multiprocessing
I/O asynchrone avec asyncio
Les outils pour lire l’activité (Timeit, cProfile)
Calcul distribué avec la librairie Celery
Les faiblesses du multithreading
Travaux pratiquesObjectifs : Savoir manipuler les threads en Python pour gagner en performances
Description : Mise en œuvre de l’algorithme Map Reduce avec Celery. Observations des appels et du temps passé dans les différentes fonctions pour diagnostiquer où se situe le goulot d’étranglement.
J3

Manipulations avancées des données

Rappels sur les formats de données structurées : CSV, flux XML et JSON
Manipulation des données issues de ces fichiers par des structures Python adaptées
Le parseur XML ElementTree
Fonctions d‘accès et de download de données en ligne
A quoi sert un ORM (Object-relational Mapper) ?
Synchronisation des objets Python avec une base SQL (ORM sqlAlchemy)
Principes des API et des Web Services
Consommation des API et des Web Services en Python
Travaux pratiquesObjectif : Savoir manipuler des flux XML ou JSON 
Description : Capture de séries financières (indices de marché et cours de bourse) à partir d'un fichier CSV représentant des données issues de data.gouv.fr, on extrait une statistique (décrite en XML) et on l’affiche dans un bar graphe (utilisation de la libraire PySpark). Cet atelier permet d’appréhender la puissance du moteur Spark combiné à la simplicité de Python pour l’analyse de données.

La représentation graphique de données en Python

Introduction aux bases de la visualisation de données
Focalisation sur la génération de graphes grâce à la librairie Matplotlib : démonstration de l’application de graphes Matplotlib à la visualisation de problèmes concrets
Travaux pratiquesObjectif : Savoir utiliser la bibliothèque MatplotLib
Description : Poursuite de l’atelier précédent en générant des visualisations graphiques illustrant les analyses de données réalisées
J4

Présentation des grandes librairies Python

En quoi consiste l’analyse de données ?
Introduction au concept de Dataframe
Manipuler et analyser les données avec Pandas
Analyser les données avec NumPy et SciPy
Fonctions de manipulation et de calcul matriciel (Numpy)
Fonctions de Statistiques Descriptives (SciPy)
Fonctions de comparaison de populations, mesures d’association, etc. (SciPy)
Fonctions de classification automatique (SciPy) : k-means
Introduction aux concepts et au vocabulaire de l’IA (apprentissage supervisé/non supervisé)
Intelligence Artificielle et algorithmes d'apprentissage avec Scikit-Learn
Tracer et visualiser les données avec Matplotlib
Créer un serveur internet WEB, FTP, etc. avec Twisted (aperçu)
Dialoguer avec tout matériel compatible SNMP avec PySNMP (aperçu)
Travaux pratiquesObjectifs : Comprendre le champ fonctionnel de chaque librairie et leurs dépendances ou complémentarités. Savoir mettre en œuvre NumPy et SciPy pour le calcul scientifique et l’analyse de données.
Description : Quizz sur les bibliothèques (quelles bibliothèques utiliser pour quel traitement formulé sous la forme d’un besoin métier  ?). Mise en œuvre de NumPy et SciPy dans le contexte de l’analyse financière (Collecte de données, intégration, nettoyage, calcul, analyse). Visualisation avec Matplotlib. 

Prérequis

Les participants doivent posséder de bonnes connaissances de développement en Python validées par au moins un premier projet de développement. La formation ne revient pas sur la syntaxe de base de Python et se contente d’un rappel en début de formation. Ces prérequis sont indispensables pour garantir une compréhension continue de la formation et pour participer aux travaux pratiques de façon active.

Public

Ce cours s’adresse aux développeurs déjà familiarisés avec le langage Python souhaitant parfaire ou enrichir leur connaissance de ce langage en étant pertinent dans les choix d’implémentations (structures de données, fonctions utilisées, architecture du code, etc.). Elle intéressera particulièrement toute personne cherchant à comprendre comment optimiser une application existante en Python (monitoring, parallélisme) ainsi que toute personne participant à un projet de développement en Python dans un projet scientifique, d’analyse de données, d’IA, de machine learning, ou encore de supervision réseau et qui souhaite disposer d’une vue claire sur les bibliothèques disponibles et la mise en œuvre des standards.

Ces formations pourraient vous intéresser

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Décrire les modèles génératifs et les apports concrets de GPT-4 et ChatGPT
  • Expliquer les architectures des solutions d'IA avec Azure Cognitive Services et Azure OpenAI
  • Invoquer les API Cognitive Services et OpenAI pour créer des applications en Python
  • Implémenter les meilleures pratiques d'Azure Cognitive Services et Azure OpenAI
  • Mettre en pratique les principes de DevOps, MLOps et IAOps
  • Déployer et héberger des services IA sur Azure grâce à des conteneurs.
Tarif

A partir de 4 250,00 €

Durée

5j / 35h

Modes
  • Centre
  • Distance

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Concevoir et tester un modèle de ML (Machine Learning) avec MLflow
  • Concevoir et tester un pipeline MLOps robuste avec MLflow
  • Déployer votre modèle en production
  • Surveiller votre modèle de production et corriger les écarts.
Tarif

A partir de 3 800,00 €

Durée

5j / 35h

Modes
  • Centre
  • Distance

Objectifs de la formation

  • Cette formation fait l'objet d'une évaluation formative.
Tarif

Contacter l'organisme

Durée

4 jours (28 heures)

Modes
  • Distance
  • Centre

Objectifs de la formation

  • Connaître les objectifs, les avantages et les inconvénients de l'automatisation des tests
  • Maîtriser l'automatisation d'une application web avec Selenium
  • Créer des scripts maintenables avec Selenium Webdriver
  • Se préparer à la certification A4Q Selenium Fondation
Tarif

A partir de 2 200,00 €

Durée

3 jours

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

À l'issue de cette formation GitLab CI/CD, vous aurez acquis les connaissances et compétences nécessaires pour :

  • Configurer un projet GitLab, rôles et membres, tableau de bord des issues, dépôt de sources
  • Mettre en place des workflows de collaboration autour de branches GitLab
  • Mettre en place des pipelines via le descripteur .gitlab-ci.yml
  • Intégrer des dépôts d’artefacts : Maven, Docker, npm
  • Définition des environnements et Intégration cloud et Kubernetes
  • Intégration outils de test : Unitaire/intégration, Fonctionnels, Sécurité, Qualité
Tarif

A partir de 1 995,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

À l'issue de cette formation Cisco DevNet, vous aurez acquis les connaissances et les compétences nécessaires pour :

  • Décrire la philosophie et les pratiques du DevOps, et comment elles s'appliquent aux défis de la vie réelle
  • Expliquer les architectures basées sur les conteneurs et les outils disponibles fournis par Docker
  • Décrire l'emballage des applications dans les conteneurs et commencer à construire des images de conteneurs sécurisés
  • Utiliser la mise en réseau des conteneurs et déployer une application de réseau à trois niveaux
  • Expliquer les concepts de pipelines d'éléments de configuration (IC) et les outils disponibles
  • Mettre en œuvre un pipeline de base avec Gitlab CI qui construit et déploie des applications
  • Mettre en œuvre des tests et une validation automatisés de la construction
  • Décrire les principes DevOps appliqués aux infrastructures
  • Mettre en place des environnements de test à la demande et expliquer comment les intégrer à un pipeline existant
  • Mettre en place des outils de collecte, d'analyse et d'alerte de données métriques et de journaux
  • Décrire les avantages de la surveillance de la santé des applications, de la télémétrie et de l'ingénierie du chaos dans le contexte de l'amélioration de la stabilité et de la fiabilité de l'écosystème
  • Décrire comment mettre en œuvre des flux de travail DevOps sécurisés en traitant en toute sécurité les données sensibles et en validant les applications
  • Expliquer les concepts de conception et d'exploitation liés à l'utilisation d'un mélange de déploiements de nuages publics et privés
  • Décrire la conception d'applications modernes et les architectures de micro-services
  • Décrire les éléments de base de Kubernetes et comment utiliser ses API pour déployer une application
  • Expliquer les schémas de déploiement avancés de Kubernetes et mettre en place un pipeline automatisé
  • Expliquer comment les concepts de surveillance, d'exploitation forestière et de visibilité s'appliquent à Kubernetes
Tarif

A partir de 4 170,00 €

Durée

5j / 35h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

  • Pendant la formation, le formateur évalue la progression pédagogique des participants via des QCM, des mises en situation et des travaux pratiques. Les participants passent un test de positionnement avant et après la formation pour valider leurs compétences acquises.
Tarif

Contacter l'organisme

Durée

4 jours (28 heures)

Modes
  • Entreprise
  • Distance
  • Centre

Objectifs de la formation

A l'issue de cette formation, vous serez capable de :

  • Expliquer les subtilités du langage Python pour écrire des programmes qui interagissent avec un système de type Linux.
Tarif

A partir de 1 830,00 €

Durée

3j / 21h

Modes
  • Centre
  • Distance

Objectifs de la formation

  • Décrire l’enjeu des tests dans le processus de développement logiciel ;
  • Identifier les différentes catégories de test et connaitre leurs rôles ;
  • Mettre en place des tests unitaires en Python en utilisant la librairie unittest ;
  • Utiliser des objets Mocks dans les tests unitaires ;
  • Mettre en place des tests d’intégration en Python ;
  • Développer des tests d’intégration pour les fonctionnalités Web des application.
Tarif

Contacter l'organisme

Durée

2j / 14h

Modes
  • Centre
  • Entreprise
  • Distance

Objectifs de la formation

A l'issue de cette formation Data Visualisation en Python, vous aurez acquis les connaissances nécessaires pour :

  • Acquérir une compréhension approfondie des principes fondamentaux de la dataviz, y compris l'importance de la communication visuelle des données
  • Choisir parmi les modules de dataviz en Python (Matplotlib, Plotly et Seaborn), et utiliser ces outils pour créer des visualisations impactantes
  • Choisir les types de diagrammes les plus appropriés pour représenter différentes informations, en fonction des contextes spécifiques
  • Optimiser le choix des couleurs, la disposition et d'autres éléments graphiques pour améliorer la clarté et l'esthétique de leurs visualisations
Tarif

A partir de 1 995,00 €

Durée

3j / 21h

Modes
  • Centre
  • Entreprise
  • Distance

Je cherche à faire...