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

5 jours
Prochaine session
  • du 26 févr. au 01 mars 2024

 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