Développement C/C++ Perl et Python

Python, programmation Objet

Objectifs de la formation

  • Maîtriser la syntaxe du langage Python
  • Acquérir les notions essentielles de la programmation objet
  • Connaître et mettre en œuvre les différents modules Python
  • Concevoir des interfaces graphiques
  • Mettre en œuvre les outils de test et d'évaluation de la qualité d'un programme Python


Programme de la formation

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 de chaînes de caractères.
  • 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.

Travaux pratiques

Installation et prise en main de l'interpréteur Python.

Approche Orientée Objet

  • Les principes du paradigme Objet.
  • La définition d'un objet (état, comportement, identité).
  • La notion de classe, d'attributs et de méthodes.
  • L'encapsulation des données.
  • La communication entre les objets.
  • L'héritage, transmission des caractéristiques d'une classe.
  • La notion de polymorphisme.
  • Association entre classes.
  • Les interfaces.
  • Présentation d'UML.
  • Les diagrammes de classes, de séquences, d'activités...
  • Notion de modèle de conception (Design Pattern).

Travaux pratiques

Modélisation en UML d'un cas d'étude simple.

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éciales.
  • L'introspection.
  • L'implémentation des interfaces.
  • Les bonnes pratiques et les modèles de conception courants.
  • L'utilisation du mécanisme d'exception pour la gestion des erreurs.

Travaux pratiques

Pratique des différents concepts Objet au travers de l'implantation de l'étude de cas.

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.

Travaux pratiques

Mise en œuvre de modules Python : expressions régulières, accès à une base de données,

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 (Unittest...).
  • L'automatisation des tests, l'agrégation de tests.
  • Les tests de couverture de code, profiling.

Travaux pratiques

Utilisation des outils pylint et pychecker pour la vérification d'un code Python. Mise en œuvre de tests unitaires.

Création IHM TkInter

  • Les principes de programmation des interfaces graphiques.
  • Présentation de la bibliothèque TkInter.
  • Les principaux conteneurs.
  • Présentation des widgets disponibles (Button, Radiobutton, Entry, Label, Listbox, Canvas, Menu, Scrollbar, Text...).
  • Le gestionnaire de fenêtres.
  • Le placement des composants, les différents layouts.
  • La gestion des événements, l'objet event.
  • Les applications multifenêtres.

Travaux pratiques

Conception d'une interface graphique avec la bibliothèque Tkinter.

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.
  • L'interpréteur Python dans C.
  • L'utilisation du profileur de code.

Travaux pratiques

Appel de fonctions écrites en C depuis Python. Création de modules C pour Python.

Conclusion

  • Analyse critique de Python.
  • L'évolution du langage.
  • Eléments de webographie et de bibliographie.

Please login to get access to the quiz
Python, perfectionnement (Prev Lesson)
(Next Lesson) Programmation en C
Back to Développement C/C++ Perl et Python
Public

Développeurs, ingénieurs, chefs de projets proches du développement.

Pré-requis

Connaissances de base en programmation.