Dernière mise à jour le 22/03/2023

Python, perfectionnement

Informations générales

Type de formation : Formation continue
Domaine : Développement
Filière : Open Source - LAMP : Linux Apache PHP
Rubrique : Langages : Python
Formation éligible au CPF : Non
Formation Action collective : Oui Code ACO : ATLAS

Objectifs & compétences

A l’issue de la formation, le stagiaire sera capable d’utiliser les fonctionnalités avancées de Python ainsi que les principaux outils associés au langage, pour pouvoir répondre aux exigences de programmation.

Public visé

Ingénieurs et développeurs.

Pré-requis

Disposer de bonnes connaissances en développement Python.

Programme

Création d’une application de traitement de données avec utilisation de la parallélisation. Nous mettrons en place des pipelines de traitement avec un ensemble d’applications que nous allons packager en respectant les bonnes pratiques. A la fin de la formation, nous présentons Spark pour le traitement parallélisé et pour ceux qui veulent aller plus loin.
Chapitre 1 : Rappel de Python
• La programmation orientée objet en python
Encapsulation
Héritage
Polymorphisme
Atelier pratique : Présentation théorique avec code à l’appui.
Chapitre 2 : Aller plus loin avec la programmation objet
• Rappels sur la programmation objet : classes, instances, …
• Les propriétés • Les attributs de classe
• Les méthodes de classe et méthodes statiques
• L'introspection
• La classe object
• Les méthodes spéciales
• Le destructeur
• Héritage simple et héritage multiple
• Polymorphisme et duck typing
• La classe type
• Les métaclasses
• Abstract Base Class
• Rappels sur les exceptions
Atelier pratique : Mise en place d’un pipeline de traitement des données (plusieurs programmes connectés entre eux). Le premier programme sera en POO avec Flask, tandis que les suivants seront chargés de faire un nettoyage et une mise en forme des données avant de les sauvegarder en base.
Chapitre 3 : Fonctionnalités avancées
• Les générateurs
• Les décorateurs
• Les itérateurs
• Les context managers
• Les closures
Atelier pratique : En reprenant nos pipelines de traitement, nous les transformons en programme basé sur le paradigme fonctionnel pour éviter les effets de bord et comprendre l’utilité des différentes solutions.
Chapitre 4 : Packager et déployer une application Python
• Le gestionnaire de paquets pip
• Le Python Package Index (PyPI)
• Installer un module externe
• Le module setuptools
• Organiser son package
• Le MANIFEST et le README
• Packager son application au format wheel
• Déployer son package sur PyPI
Atelier pratique : Nous modifions nos précédentes applications pour pouvoir les partager sur un serveur de dépôt.
Chapitre 5 : Travailler avec un environnement virtuel
• L'intérêt d'utiliser un environnement virtuel
• Les solutions disponibles
• Installer un module dans un environnement virtuel
• Gérer efficacement les dépendances d'un projet
Atelier pratique : Comparaison et des outils tel que venv, etc. Nous mettons en place notre environnement virtuel et vérifions que les modules sont chargés au bon endroit.
Chapitre 6 : Optimisation et parallélisme
• Profilage de code avec timeIT et cProfile
• Les queues : créer des files synchronisées
• Le threading
• Le multiprocessing
Atelier pratique : Lancement de multithreading de nos pipelines et analyse des problématiques qui peuvent avoir lieu (problème de synchronisation, fuite de mémoire).
Chapitre 7 : Des librairies utiles
• De vrais scripts Python : le module argparse
• HTTP pour les humains : le module requests
• Parser du XML et du HTML : le module xml.etree
• Python pour la science : les modules Numpy et Matplotlib
• Intelligence artificielle : le module Scikit-Learn
Atelier pratique : Dans un environnement JupyterLab, nous testons les bibliothèques pour afficher des graphiques (Matplotlib).
Chapitre 8 : Découverte de Spark pour la manipulation des données - PySpark
• Utilisation de SparkSQL et des DataFrames pour manipuler des données
• Charger des données depuis Hadoop, depuis des fichiers CSV, texte, JSON…
• Transformer des données (création de DataFrames, ajout de colonnes, filtres…)
Atelier pratique : Exemple dans un notebook de l’utilisation de Spark et Panda.

Modalités

Modalités : en présentiel, distanciel ou mixte – Horaires de 9H à 12H30 et de 14H à 17H30 soit 7H – Intra et Inter entreprise
Pédagogie : essentiellement participative et ludique, centrée sur l’expérience, l’immersion et la mise en pratique. Alternance d’apports théoriques et d’outils pratiques.
Ressources techniques et pédagogiques : Support de formation au format PDF ou PPT Ordinateur, vidéoprojecteur, Tableau blanc, Visioconférence : Cisco Webex / Teams / Zoom
Pendant la formation : mises en situation, autodiagnostics, travail individuel ou en sous-groupe sur des cas réels

Méthodes

Fin de formation : entretien individuel
Satisfaction des participants : questionnaire de satisfaction réalisé en fin de formation
Assiduité : certificat de réalisation (validation des acquis)
Contact : contact@astonbysqli.com
Code de formation : AS943

Tarifs

Prix public : 2350
Tarif & financement :
Nous vous accompagnons pour trouver la meilleure solution de financement parmi les suivantes :
  • Le plan de développement des compétences de votre entreprise : rapprochez-vous de votre service RH.
  • Le dispositif FNE-Formation.
  • L’OPCO (opérateurs de compétences) de votre entreprise.
  • Pôle Emploi sous réserve de l’acceptation de votre dossier par votre conseiller Pôle Emploi.
  • CPF -MonCompteFormation
Contactez nous pour plus d’information

Lieux & Horaires

Durée : 28 heures
Délai d'accès : 8 Jours

Prochaines sessions

Handi-accueillante Accessible aux personnes en situations de handicap. Pour toutes demandes, contactez notre référente, Mme Rizlene Zumaglini Mail : rzumaglini@aston-ecole.com

à voir aussi dans le même domaine...

Formation continue

Open Source - LAMP : Linux Apache PHP

AS920

Les services réseaux Linux

Apprendre à installer, configurer un serveur Apache et des applications Web
Savoir configurer un serveur Samba membre ou déployer une solution complète de serveurs de fichiers Open Source
Être capable de mettre en place le gestionnaire de bases de données MySQL
Maîtriser le déploiement des solutions de messagerie gratuites incluant une lutte anti-spam
Savoir déployer Linux et l'intégrer avec les autres environnements existants

28 heures de formations sur 4 Jours
En savoir plus

Formation continue

Open Source - LAMP : Linux Apache PHP

O-PH2

PHP 7 – Développement avancé et programmation Objet

php, avance, framework, pear, uml, programmation objet, mvc, modèle, vue, contrôleur, ldap, xml, web service, phpdoc, performance, cache

Être capable de mettre en place des applications Web pointues
Comprendre comment développer des applications pointues en POO
Pouvoir maîtriser les échanges de type API avec XML et JSON
Public

28 heures de formations sur 4 Jours
En savoir plus

Formation continue

Open Source - LAMP : Linux Apache PHP

AS921

Administration avancee Linux

Savoir installer, administrer, faire évoluer une distribution. Ce cours a lieu sur Linux RedHat, et sur Debian pour la partie "apt". Il est essentiellement basé sur des travaux pratiques.

35 heures de formations sur 5 Jours
En savoir plus

Formation continue

Open Source - LAMP : Linux Apache PHP

O-TYP

Typo3

Typo3, formation, templavoilà, TypoScript, LAMP, CMS, Open Source

Configurer et personnaliser une installation Typo3
Créer un site de gestion de contenu avec Typo3
Administrer et gérer un site avec Typo3
Maîtriser les bases du langage TypoScript

21 heures de formations sur 3 Jours
En savoir plus

Formation continue

Open Source - LAMP : Linux Apache PHP

AS927

Supervision Nagios utilisation

Administrer une solution open source de supervision. Configurer, paramétrer et personnaliser Nagios.

21 heures de formations sur 3 Jours
En savoir plus

Formation continue

Open Source - LAMP : Linux Apache PHP

AS929

Administration Nagios

Connaître les fonctionnalités de Nagios. Savoir installer, configurer et administrer le produit. Savoir développer des nouveaux plugins.

35 heures de formations sur 5 Jours
En savoir plus