Python - Programmation Objet
Développement 2875 € HT
Objectifs
Apprendre les bonnes pratiques de développement. Connaître les possibilités du langage Python et maîtriser les techniques de programmation.
À l'issue de la formation, le stagiaire sera capable de :
- Connaître la syntaxe du langage Python
- Acquérir les principes de la programmation objet
- Mettre en oeuvre les fonctionnalités des modules Python et les bonnes pratiques associées
- Savoir concevoir des interfaces graphiques
- Appréhender l'utilisation des outils de test et d'évaluation d'un programme Python
METHODES ET OUTILS PEDAGOGIQUES
- Alternance exposés théoriques et exercices pratiques (80% pratique)
-
Support de cours
EVALUATION
- Tout au long de la formation, exercices pratiques permettant au formateur la validation des acquis et des compétences
Public concerné
Développeurs Ingénieurs Chefs de projets proches du développement
Pré-requis
Disposer de connaissances de base en programmation Objet idéalement
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
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)
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
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
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
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 multi-fenêtres
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