M2i Formation

Découvrez notre formationPython - Perfectionnement

Présentiel

3 jours (21 heures) - PYT-PE

(13)
Accueil  ›  Formations Informatique  ›  Langages et développement  ›  Développeur Python  ›  Python - Perfectionnement

Objectifs pédagogiques

  • Comprendre les subtilités du langage Python et en tirer parti pour écrire des programmes bien structurés, robustes et efficaces
  • Approfondir le développement en langage Python.

Niveau requis

Avoir suivi le cours PYT "Python - Par la pratique" ou avoir les compétences équivalentes.

Public concerné

Développeurs, administrateurs et architectes.


Cette formation est éligible au CPF : code unique 237067

Paris La Défense09/12/20191 800 € HTInscriptions en cours, places disponiblesRéserver
Paris La Défense10/02/20201 800 € HTDates proposées dans les agences M2iRéserver
Paris La Défense11/05/20201 800 € HTDates proposées dans les agences M2iRéserver
Paris La Défense06/07/20201 800 € HTDates proposées dans les agences M2iRéserver

Afficher plus de dates

Sessions
planifiées
Sessions
ouvertes
Sessions
confirmées
Réserver
le stage

Certification : M2i Langages de Programmation (+ 120€)

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)

  • Nos tests de validation des compétences font partie intégrante du processus d'apprentissage car ils permettent de développer différents niveaux d'abstractions.
  • Solliciter l'apprenant à l'aide de nos QCM, c'est lui permettre d'étayer sa réflexion en mobilisant sa mémoire pour choisir la bonne réponse. Nous sommes bien dans une technique d'ancrage mémoriel.
  • L'examen sera passé à la fin de la formation.

Les + de la formation

L'examen de certification (proposé en option) est en français.

Testez vos connaissances

Objectif : Ce test a pour objectif de tester vos connaissances en Python

Faites évoluer vos compétences

Complétez votre formation

En cliquant le bouton « Accepter », vous acceptez l’utilisation de cookies pour réaliser des mesures d’audiences et vous permettre d’enregistrer vos préférences de navigation. En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de cookies.

Accepter Paramètres En savoir plus