Objectifs

Décrire les subtilités du langage Python pour écrire des programmes structurés et efficaces Approfondir et gérer le développement en langage Python.

Pré requis

Avoir suivi le cours PYT-INI "Python Initiation" ou avoir les compétences équivalentes.

Évaluation

Qu’il s’agisse de classe virtuelle ou présentielle, des évaluations jalonneront la formation : tests réguliers des connaissances, cas pratiques, certification ou validation par un diplôme à l’issue de l'action par les stagiaires, au regard des objectifs visés.

01 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)

02 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

03 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

04 Python et XML

- Concepts de base

- DOM (Document Object Model)

- Création d'un programme de lecture d'un flux de données de taille importante via SAX (Simple API for XML)

- Parser...

- Gestion de fichiers XML selon SAX et selon DOM

- Requêtage Xpath et transformation avec XSL

05 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

- Ecriture d'un programme utilisant Qt/UI d'échange utilisateur avec l'interface graphique

06 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

07 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

- Mise au point de requêtes de lecture, inertion, mise à jour depuis Python

08 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

09 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

10 Mise au point de programme

- Débogage : exécution pas à pas

- Modes : verbose et trace

- Analyse des performances et profiling

Ces formations peuvent aussi vous intéresser

Voir toutes les formations. Cliquez ici