Formation Python Perfectionnement
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 pour suivre cette formation
Connaître la programmation orientée objet ou avoir suivi la formation Python Initiation.
A qui s'adresse cette formation ?
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.
Demander des informations
Vous souhaitez en savoir plus ou directement vous inscrire à une session ?
Contactez-nous pour monter votre dossier !
Formations similaires
Ces formations pourraient vous intéresser