Menu

FORMATIONS / INFORMATIQUE / LANGAGE / DEVELOPPEMENT / Langage Bas Niveau

LD-026  PROGRAMMATION PYTHON |  5 jours


01/. Introduction à Python

Présentation du langage Python Installation et prise en main de Python

02/. Syntaxe du langage Python

Les identifiants et les références. Les conventions de codage et les règles de nommage Les blocs, les commentaires Les types de données disponibles Les variables, l'affichage formaté, la portée locale et globale La manipulation des types numériques La manipulation des tableaux dynamiques (liste), des tableaux statiques (tuple) et des dictionnaires L'utilisation des fichiers La structure conditionnelle if/elif/else Les opérateurs logiques et les opérateurs de comparaison Les boucles d'itérations while et for. Interruption d'itérations break/continue La fonction range L'écriture et la documentation de fonctions Les Lambda expression Les générateurs La structuration du code en modules

03/. Fonctions

Définitions Appels et paramètres en Python

04/. Modules

Programmation modulaire, espaces de noms et packages Introduction à l'écriture de classes Stratégies de traitements de données, la place de Python Utilisation des modules standards, OptParse, Struct Installation et utilisation d'un module tiers, GnuPlot

05/. Gestion des fichiers

Types de fichiers Opérations sur les fichiers

06/. Manipulation des chaines de caractères

Les fonctions de chaines Les expressions régulières La documentation intégrée et en ligne

07/. Accès aux bases de données en Python

MySQL et SQL L'accès aux bases de données Gestion de données

08/. Python et XML

Outils de traitement XML Parsing XML : les différentes techniques La librairie elementtree La librairie lxml

09/. Outils de développement et interactions avec Python

Eclipse / Pydev, PyLint, PyChecker Zope, Plone, Django

10/. Calcul scientifique avec Python

SciPy NumPy Le module incontournable ▬ Héritier de Numeric et numarray ▬ Classes de base pour SciPy Installation ▬ Module Python standard ▬ Optimisation plateforme: blas, lapack... Utilisation ▬ Traitement Python des tableaux pour calcul numérique Fonctions de manipulation Bibliothèque mathématique ▬ Support pour vos propres bibliothèques Interface Python pur API pour encapsulation de codes Fortran, C/C++ sage, ...

11/. Les différentes implémentations

CPython Implémentation initiale basée sur le langage C ANSI Jython Implémentation permettant de mixer Python et java dans la même JVM IronPython Implémentation permettant d'utiliser Python pour Microsoft .NET PyPy Implémentation de Python en Python CLPython Implémentation de Python en Common Lisp

12/. Les versions

Il existe 2 versions de Python : 2.7 et 3.1. Python 3.x n'est pas une simple amélioration ou extension de Python 2.x. Tant que les auteurs de librairies n'auront pas effectué la migration, les deux versions devront coexister.

13/. Programmation Objet en Python

Les particularités du modèle objet de Python L'écriture de classes et leur instanciation Les constructeurs et les destructeurs La protection d'accès des attributs et des méthodes La nécessité du paramètre Self L'héritage simple, l'héritage multiple, le polymorphisme Les notions de visibilités Les méthodes spéciale L'introspection L'implémentation des interfaces Les bonnes pratiques et les modèles de conception courants (Design Pattern)L'utilisation du mécanisme d'exception pour la gestion des erreurs



14/. Utilisation StdLib

Les arguments passés sur la ligne de commande L'utilisation du moteur d'expressions régulières Python avec le module "re", les caractères spéciaux, les cardinalités La manipulation du système de fichiers Présentation de quelques modules importants de la bibliothèque standard : module "sys", "os", "os.path" Empaquetage et installation d'une bibliothèque Python Les accès aux bases de données relationnelles, le fonctionnement de la DB API

15/. Outils QA

Les outils d'analyse statique de code (pylint, pychecker) L'analyse des comptes rendus d'analyse (types de messages, avertissements, erreurs) Extraction automatique de documentation Le débogueur de Python (exécution pas à pas et analyse post-mortem) Le développement piloté par les tests Les modules de tests unitaires Python L'automatisation des tests, l'agrégation de tests Les tests de couverture de code, profiling

16/. Interfaçage Python/C

Présentation du module Ctypes Le chargement d'une librairie C Appel d'une fonction La réécriture d'une fonction Python en C avec l'API Python/C La création de modules C pour Python avec Pyrex L'Interpréteur Python dans C L'utilisation du profileur de code

17/. Développement multi-plates-formes

18/. Packaging / Livraison de modules

19/. Multithreading

20/. Parallélisme avec Mpi

21/. Best Practices

22/. Qualité du code source Python / Sphynx

23/. MVC

24/. Création d'IHM avec Qt

25/. Conclusion

Analyse critique de Python L'évolution du langage Eléments de Webographie et de bibliographie



Public
Développeurs, chefs de projet

Objectifs
Maîtriser Python pour extraire et analyser des données binaires ou textuelles

Prérequis
Bonnes connaissances en programmation C++.

Moyens pédagogiques
1 ordinateur et 1 support de cours par personne + 1 vidéoprojecteur. Évaluation par écrit en fin de cours et attestation de stage délivrée en fin de formation.

VOS DATES DE FORMATION