Formation Python, perfectionnement
- Référence : DELY200
- Durée : 21 heures
- Certification : Non
- Eligible CPF : Non
RÉSUMÉ
Cette formation de 3 jours vous permettra de découvrir les subtilités du langage Python et en tirer parti pour écrire des programmes bien structurés, robustes et efficaces. Vous apprendrez à gérer le développement en langage Python de façon approfondie.
CONNAISSANCES PREALABLES
- Avoir suivi le cours DEPYT001 - Python par la pratique ou posséder les connaissances et compétences équivalentes
PROFIL DES STAGIAIRES
- Développeurs, administrateurs et architectes
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
METHODES PEDAGOGIQUES
- 6 à 12 personnes maximum par cours, 1 poste de travail par stagiaire
- Remise d’une documentation pédagogique papier ou numérique pendant le stage
- La formation est constituée d’apports théoriques, d’exercices pratiques et de réflexions
METHODES D'EVALUATION DES ACQUIS
- Auto-évaluation des acquis par le stagiaire via un questionnaire
- Attestation de fin de stage adressée avec la facture
FORMATEUR
Consultant-Formateur expert Développement Internet
CONTENU DU COURS Développement Internet
1 - Jour 1
2 - 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 : Création d’un programme avec exploitation avancée des collections de Python
3 - Programmation multithread
- Notion de pool de threads
- Exemples de travaux pratiques : Création d’un programme lançant plusieurs threads
- Threads et échanges de données
- Gestion des aspects concurrentiels : lock, mutex, sémaphores…
- Threads et la Programmation Orientée Objets
- Gestion de threads : modules thread, threading
- Concepts de bases : programme, thread, synchronisation
4 - 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 : Création d’un programme serveur puis client échangeant des données via les sockets en TCP puis UDP
5 - Jour 2
6 - Python et XML
- Concepts de base : DOM (Document Object Model)
- Exemples de travaux pratiques : Création d’un programme de lecture d’un flux de données de taille importante via SAX
- Gestion de fichiers XML selon SAX et selon DOM
- Requêtage Xpath et transformation avec XSL
7 - 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
- Exemples de travaux pratiques : Ecriture d’un programme utilisant Qt/UI d’échange utilisateur avec l’interface graphique
8 - 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
9 - Les bases de données
- Création d’une base avec les modules Gadfly
- Exemples de travaux pratiques : Création d’un programme qui sérialise un flux JSON
- Gestion de la base de données SQLite et MySQL
- Concepts de base : SQL, NoSQL, tables, curseur
10 - Jour 3
11 - 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
- Exemple de travaux pratiques : Création d’un programme interfaçant avec des API écrites en C et en Java
12 - Mise au point de programme
- Débogage : exécution pas à pas
- Modes : verbose et trace
- Analyse des performances et profiling