FORMATIONS / INFORMATIQUE / Langage / Développement / Langage Bas Niveau LD-026 FORMATION 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. VERTEGO / HÔTEL D’ENTREPRISES « LES ALLÉES » 26 Avenue des Lilas / 64062 PAU Cedex 9 Tél. : +33 (0)5 59 14 62 62 [email protected] / www.vertego.fr