M2i Formation

Python - Perfectionnement

Par M2i Formation

Objectifs

  • Décrire les subtilités du langage Python et en tirer parti pour écrire des programmes bien structurés, robustes et efficaces
  • Gérer le développement en langage Python, de façon approfondie.

Programme

Jour 1

Langage

  • Appel de fonctions aspects avancés : args, *argk
  • Lambda, filter et map
  • Utilisation avancée des modèles de données : list, dic, stack, queue
  • Utilisation avancée des fonctions : passages d'arguments
  • Aspects avancés de la Programmation Orientée Objets (POO)
Exemples de travaux pratiques (à titre indicatif)
  • Création d'un programme avec exploitation avancée des collections de Python
  • Changement des types de passage d'argument

Programmation multithread

  • Concepts de bases : programme, thread, synchronisation
  • Gestion de threads : modules thread, threading
  • Threads et la Programmation Orientée Objets
  • Gestion des aspects concurrentiels : lock, mutex, sémaphores...
  • Threads et échanges de données
  • Notion de pool de threads
Exemples de travaux pratiques (à titre indicatif)
  • Création d'un programme lançant plusieurs threads
  • Synchronisation de ces threads pour obtenir un résultat dépendant de traitements parallèles
  • Protection des données globales du programme écrit grâce aux mutex et lock
  • Ajout d'un sémaphore pour l'accès à des ressources en nombre restreint
  • Echange de données entre threads lancés
  • Travail sur la notion de pool de threads disponibles

Programmation réseau avec les sockets

  • Rappels sur le TCP/IP et concepts de base de l'API socket
  • Utilisation du module socket
  • Socket en mode connecté : TCP ou stream
  • Socket en mode non connecté : UDP ou datagram
  • Les sockets et la Programmation Orientée Objets
  • Combinaison des sockets et des threads
Exemples de travaux pratiques (à titre indicatif)
  • Création d'un programme serveur puis client échangeant des données via les sockets en TCP puis UDP
  • Démonstration de l'avantage du multi-threading dans ce cas pour les serveurs

Jour 2

Python et XML

  • Concepts de base
    • DOM (Document Object Model)
    • SAX (Simple API for XML)
    • Parser...
  • Gestion de fichiers XML selon SAX et selon DOM
  • Requêtage Xpath et transformation avec XSL
Exemples de travaux pratiques (à titre indicatif)
  • Création d'un programme de lecture d'un flux de données de taille importante via SAX
  • Mise à jour d'une structure via DOM

Programmation graphique

  • Différentes API : Tkinter, wxPython, Qt/UI API
  • Tkinter : présentation et mise en oeuvre
  • Présentation et mise en oeuvre
    • API wxPython
    • API Qt/UI
Exemples de travaux pratiques (à titre indicatif)
  • Ecriture d'un programme utilisant Qt/UI d'échange utilisateur avec l'interface graphique

Persistance de données

  • Concepts de base : sérialisation / désérialisation
  • Différents modèles de persistance : Pickle...
  • Persistance texte avec JSON et XML

Les bases de données

  • Concepts de base : SQL, NoSQL, tables, curseur
  • Création d'une base avec les modules Gadfly
  • Gestion de la base de données SQLite et MySQL
Exemples de travaux pratiques (à titre indicatif)
  • Création d'un programme qui sérialise un flux JSON
  • Ecriture d'un programme d'accès à une base de données MySQL
  • Mise au point de requêtes de lecture, inertion, mise à jour depuis Python

Jour 3

Développement Web avec Django

  • Architecture d'applications Web et les concepts de bases
  • Présentation du Framework MVC Django
  • Installation et configuration minimale de Django
  • Modèle de l'application Django et publication
  • Eléments de MVC : vue, modèle et échanges HTTP
  • Echanges HTTP et formulaires
  • Bases de données, modèle et ORM
Exemples de travaux pratiques (à titre indicatif)
  • Création d'une application avec Django
  • Configuration de l'application
  • Ecriture des modèles, mappés via un ORM sur une base de données
  • Ecriture des vues avec données extraites des modèles

Intégration Python/C et Python/Java

  • Présentation générale et mise en oeuvre de SWIG
  • Python/C et les packages
    • Natifs C
    • Natifs Java
Exemple de travaux pratiques (à titre indicatif)
  • Création d'un programme interfaçant avec des API écrites en C et en Java

Mise au point de programme

  • Débogage : exécution pas à pas
  • Modes : verbose et trace
  • Analyse des performances et profiling

Certification (en option)

  • Prévoir l'achat de la certification en supplément
  • L'examen (en français) sera passé le dernier jour, à l'issue de la formation et s'effectuera en ligne
  • Il s'agit d'un QCM dont la durée moyenne est d'1h30 et dont le score obtenu attestera d'un niveau de compétence

Pédagogie

  • En cours de formation, par des études de cas ou des travaux pratiques
  • Et, en fin de formation, par un questionnaire d'auto-évaluation ou une certification (M2i ou éditeur)

Formations de la même catégories (5)

Open Source School Executive Education
Python des bases à la maîtrisePar Open Source School Executive Education

Cette formation a pour objectifs de vous permettre de maîtriser les aspects essentiels du langage Python et de son écosystème, afin de vous permettre d'appréhender de façon autonome la réalisation d'applications ambitieuses dans les domaines de votre métier.

Global Knowledge
Le langage Python pour Machine LearningPar Global Knowledge

La Data Science nécessite des compétences spécifiques afin de prévoir le comportement des clients ou d’anticiper des tendances.
Cette formation vous permettra de découvrir l’analyse de données ainsi que le Machine Learning via Python, les différentes étapes qui interviennent lors de l’élaboration d’un modèle statistique, ainsi que l’analyse textuelle et la Data Visualisation.

Data Value
Python pour la Data SciencePar Data Value

Connaître et savoir utiliser les librairies incontournables de Python pour la data science : La Scipy Stack
Connaître et utiliser les principales librairies de visualisation de données et notamment orientées cartographie
Savoir manipuler des données volumineuses ne tenant pas en mémoire
Avoir une bonne compréhension de l'écosystème scientifique de Python, savoir trouver ses librairies et juger de leur qualité

IB Formation
Big Data - Python pour l'analyse de donnéesPar IB Formation
  • Savoir utiliser les principaux outils de traitement et d'analyse de données pour Python
  • Être capable d'extraire des données d'un fichier et les manipuler
  • Apprendre à mettre en place un modèle d'apprentissage simple
Arkesys
Python - Perfectionnement : Programmation orientée objet, interface graphiquePar Arkesys

La formation en quelques mots

Python est un langage devenu populaire en raison de la simplicité d’écriture et de mise en œuvre des analyses et des programmes, de son accessibilité (environnement open-source), et de son champ d’application complet grâce aux nombreuses librairies qui disposent de fonctions relatives à plusieurs domaines comme la Data Science, la Data Visualisation, le calcul scientifique. Ce langage permet de développer des applications variées.
La formation a pour objectif de permettre aux personnes ayant des bases en programmation d’approfondir les différentes notions de bases du langage Python, d’apprendre comment créer et implémenter des interfaces graphiques, tester et gérer un programme. La formation abordera également les différents outils Python qui permettent la manipulation de fichiers, de modules et de bibliothèques.

Thèmes principaux