Python - Programmation Objet

Développement    3090 € 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 pédagogiques

  • Alternance exposés théoriques et exercices pratiques (80% pratique)
  • Support de cours adapté au logiciel étudié et au niveau suivi
  • Assistance téléphonique gratuite et illimitée

Modalité d'évaluation

  • Evaluation formative au travers de nombreux exercices tout au long de la formation permettant de valider les compétences acquises.
    Attestation de stage.
  • Emargement quotidien d’une feuille de présence
  • Possibilité de passage de la certification Tosa en fin de formation

Accessibilité aux personnes handicapées

Pour tout besoin d’adaptation, retrouver le contact de notre référent handicap et les modalités d’accueil sur la page : Infos pratiques/Situation de Handicap

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 27 au 31 janv. 2025

 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

Travaux pratiques

  • Pour chaque point du programme abordé :
    Présentation et démonstration par le formateur, mise en pratique sur les fonctionnalités abordées par le stagiaire avec l’appui du formateur et du groupe, feedbacks du formateur tout au long de l’activité.