Logo Esic
Formation python

Formation python

  • Python est un langage de programmation moderne créé par Guido van Rossum à la fin des années 80. Il s'agit d'un langage de programmation interprété, multi-paradigme et multiplateformes. Il est souvent apprécié, dans un premier temps, pour sa syntaxe claire permettant une initiation aisée aux concepts de base de la programmation.
  • La force de Python réside dans ces nombreuses bibliothèques spécialisées développées par une communauté de contributeurs très active dans des domaines variés tels que le développement web, le calcul numérique scientifique, l'éducation, le développement logiciel ou les applications business.
  • Python est en particulier de plus en plus utilisé dans le domaine de la data science grâce à la puissance de son package Numpy (Numerical Python) et à la simplicité de sa syntaxe qui permet, par exemple, de communiquer facilement avec des environnements de big data (Apache Spark avec PySpark) ou de deep learning (TensorFlow).

3 Jours (21 Heures)

DébutantA partir de2 100 €
Cliquez iciInscrivez-vous à cette formationEn 2 minutes et avec votre cpf

En ligne ou Dans nos locaux ou Dans vos locaux

Dernière mise à jour: Lundi, 17 Juin 2024

S'inscrire

Objectifs de la formation

  • Structurer des programmes selon un algorithme
  • Maîtriser les éléments de lexique et de syntaxe d'un langage pour écrire un programme
  • Exécuter un programme
  • Déboguer et tester un programme

Equipe pédagogique

Nos formations dont animées par des experts reconnus dans leur domaine possédant une expérience sur le terrain significative et des compétences pédagogiques reconnues.

Pré requis pour cette formation

  • Aucune connaissance particulière.

Programme de la formation

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 pratiques

Objectif : 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 pratiques

Objectif : 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 pratiques

Objectif : 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 pratiques

Objectifs : 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 pratiques

Objectif : 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 pratiques

Objectif : 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 pratiques

Objectifs : 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. 

Votre profil pour cette formation

Toute personne devant apprendre à programmer en python 

Modalités et délais d'accès

  • Le délai d'accès moyen pour cette formation est de 2 Semaines
  • Merci d’utiliser le formulaire de contact ou nous joindre par téléphone ou mail pour l’organisation de votre formation.

Ressources pédagogiques

  • Méthode participative
  • Étude de cas / Mise en situation.
  • Exposé et réflexion sur ses propres projets
  • Exposés, aides visuelles, support de cours, exercices pratiques d’utilisation
  • Questions/réponses entre les stagiaires et le formateur
  • Mise à disposition en ligne de documents supports à la suite de la formation.

Moyens d'évaluation

  • Feuilles de présence.
  • En cours de formation, par des productions
  • Et, en fin de formation, par un questionnaire d'auto-évaluation ou une certification
  • Formulaires d'évaluation de la formation à chaud et à froid
  • Certificat de réalisation de l’action de formation.

Pour les personnes à mobilité reduite

Les personnes atteintes de handicap souhaitant suivre cette formation sont invitées à nous contacter directement, afin d’étudier ensemble les possibilités de suivre la formation.

Prérequis techniques

Pour suivre cette formation à distance vous aurez besoin

  • D'un Mac ou d'un PC
  • Une Connexion internet stable
  • Un Navigateur Web récent
  • De Teams ou de Zoom
  • Du logiciel enseigné ou à utiliser installé

Dans nos locaux nous mettrons à votre disposition tout le nécessaire.

Dans vos locaux nous conviendrons du nécessaire à mettre en place pour le bon déroulé de cette formation.

Méthodes et moyens pédagogiques

Pour le suivi de l'exécution et d'évaluation vous serez accompagnés par notre équipe pédagogique et technique sous la supervision de Madame Michèle ELBAZ.

 

En amont de la formation, notre conseiller formation réalise avec vous un entretien permettant de déterminer vos attentes concernant la formation.

 

Les horaires et le rythme sont à votre convenance ou à convenir avec notre équipe pédagogique.

 

Si nécessaire, pendant la formation vous aurez des exercices pratiques et/ou mises en situation.

 

A la fin de la formation nous vous mettons à disposition en ligne des documents et supports. Vous aurez un certificat de réalisation de la formation.

 

Nous vous transmettrons un questionnaire de satisfaction à chaud en fin de formation, et à froid à 3 mois. 
Nous vous transmettrons un  questionnaire d’auto-évaluation en fin de formation) et/ou passage de la certification (en conditions d’examens ou en télésurveillance après la formation)

 

Pour toute formation certifiante, vous aurez à la plateforme de certification. 

Formation python tosa

Formation python tosa
DébutantA partir de2 100 €

Formation python tosa

Formation android, perfectionnement

Formation android, perfectionnement
DébutantA partir de2 800 €

Formation android, perfectionnement

Formation bonnes pratiques en programmation java

Formation bonnes pratiques en programmation java
DébutantA partir de2 100 €

Formation bonnes pratiques en programmation java

Formation développeur d’application et maitrise d’ouvrage

Formation développeur d’application et maitrise d’ouvrage
DébutantA partir de17 940 €

Formation développeur d’application et maitrise d’ouvrage

Formation angular, développement avancé

Formation angular, développement avancé
DébutantA partir de1 990 €

Formation angular, développement avancé

Formation containers, enjeux, usages et solutions

Formation containers, enjeux, usages et solutions
DébutantA partir de2 800 €

Formation containers, enjeux, usages et solutions

Formation asp.net mvc core, développement d'applications web

Formation asp.net mvc core, développement d'applications web
DébutantA partir de2 800 €

Formation asp.net mvc core, développement d'applications web

Formation c# -  développer en .net avec visual studio
DébutantA partir de3 200 €

Formation c# - développer en .net avec visual studio

Formation apache - perfectionnement
DébutantA partir de2 100 €

Formation apache - perfectionnement

Voir toutes nos formations

Bienvenue sur le site

esic online

Nous utilisons plusieurs services de mesure dàaudience et de comportement sur notre site. Ces services nous permettent d'améliorer celui-ci.

Lire notre politique de confidentialité