ASTON INSTITUT : 01. Python, programmation Objet
Organisme
92300 LEVALLOIS PERRETVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Tout au long de la formation, le formateur s'assure de la compréhension et de l'assimilation des concepts via des QCM et exercices. Après la formation : évaluation à chaud et à froid.
Prix
Public
Développeurs, ingénieurs, chefs de projets proches du développement.
Pré-requis
Avoir des connaissances de base en programmation (souhaitable en langage objet).
Objectifs pédagogiques
- Connaître la syntaxe du langage Python
- Acquérir les principes de la programmation objet
- Mettre en œuvre 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
Programme détaillé
Fil rouge : Tout au long de la formation les stagiaires créeront une application graphique avec les bonnes pratiques et les tests unitaires. Pendant et à la fin de chaque chapitre nous faisons évoluer l’application avec les notions qui sont vues « au fil de l’eau ».
Chapitre 1 : Algorithmie et découverte de la programmation avec Python
- Historique, alternatives
- A propos de Python 2 et Python 3
- Les variables
- Lecture / Ecriture
- Les boucles
- Les Tableaux
- Les fonctions
- Les fonctions personnalisées
Atelier pratique : Mise en place de notre Notebook et ensemble d’exercices pas à pas pour découvrir le Python.
Calculatrice, tiktok, etc.
Chapitre 2 : 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
Atelier pratique : Toujours dans le Notebook, nous suivons un ensemble de 15 exercices commentés. Récupération de données sur internet, sauvegarde dans un fichier, etc.
Chapitre 3 : Approche orientée objet et bonnes pratiques
- 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)
Atelier pratique : Fabrication d’une application de gestion de stock : Clients, commandes, produits.
Chapitre 4 : 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
Atelier pratique : En reprenant l’application précédente, nous vérifions les bonnes pratiques et mettons en place les nouveautés de Python liés à la POO.
Chapitre 5 : Interface graphique avec la bibliothèque PYQT
- Introduction
- Présentation du binding PyQt
- Installation des librairies Qt et PyQt
- Principes généraux de PyQt
- Notion d'application Qt
- Intégration des technologies HTML et CSS dans Qt
- Interconnexion des différentes barres (barres de menus, d'outils et de status)
- Gestion des menus contextuels
- Gestion des stratégies de placement (Layout)
- Quelques composants : QLineBox, QComboBox, QSpinner...
Atelier pratique : En reprenant l’application de gestion des stocks, nous fabriquons une interface pour afficher et modifier les valeurs (produits, commandes et clients).
Chapitre 6 : Utilisation SRDLIB
- 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
Atelier pratique : Analyse des paramètres fournis par l’utilisateur avec la mise en place d’expressions régulières.
Chapitre 7 : 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
Atelier pratique : En reprenant l’application « gestion des stocks », nous sauvegardons les résultats dans un fichier CSV.
Chapitre 8 : Qualité du code et les tests unitaires
- Les outils d'analyse statique de code (Pylint,Pychecker).
- Le débogueur de Python (exécution pas à pas et analyse post-mortem).
- Les modules de tests unitaires Python (Unittest...).
Atelier pratique : Analyse de la qualité du code de « gestion des stocks » et mise en place des tests unitaires dans une approche dite « TDD »