Python Perfectionnement
21 heures sur 3 jours
à Paris & à distance
(Zoom, Google Meet, etc.).
Nous nous engageons à vous répondre dans un délai de 48h
Devis sur demande
Etudions ensemble vos options de financement
Contactez-nous pour monter votre dossier !
La note de cette formationCe programme n'a pas encore été noté.
Découvrez les avis laissés par nos stagiaires sur Avis vérifiés
Objectifs de la formation
Python Perfectionnement
Identifier les subtilités du langage Python
Ecrire des programmes bien structurés, robustes et efficaces
Approfondir le développement en langage Python
Pré-requis
Connaître la programmation orientée objet ou avoir suivi la formation Python Initiation.
Pour qui ?
Développeurs, chefs de projets.
Formations recommandées
Au programme de la formation
Python Perfectionnement
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
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
- 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
- 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
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
Mise au point de programme
- Débogage : exécution pas à pas
- Modes : verbose et trace
- Analyse des performances et profiling
Exemple de travaux pratiques
- Création d'un programme interfaçant avec des API écrites en C et en Java
Méthode pédagogique
8 participants maximum, un poste par stagiaire et un support de cours est envoyé en fin de stage (vidéos tutorielles et/ou support spécifique). La formation est constituée d'apports théoriques, de démonstrations et de mises en pratique basées sur des exercices applicatifs et/ou ateliers.
Accessibilité
Cette formation est accessible aux personnes en situation de handicap.
Modalité de validation des acquis
Évaluation continue via des exercices applicatifs et/ou des ateliers de mise en pratique. Évaluation en fin de stage par la complétion d'un questionnaire et/ou d'une certification officielle issue du Répertoire Spécifique. Émargement quotidien d'une feuille de présence (en présentiel ou en ligne). Complétion par le formateur/la formatrice d'un suivi d'acquisition des objectifs pédagogiques. Remise d'une attestation individuelle de réalisation.