Python - Perfectionnement : Programmation orientée objet, interface graphique

Référence : 2020-STA-N2-PythonPerfProg

La formation en quelques mots

Python est un langage devenu populaire en raison de la simplicité d’écriture et de mise en œuvre des analyses et des programmes, de son accessibilité (environnement open-source), et de son champ d’application complet grâce aux nombreuses librairies qui disposent de fonctions relatives à plusieurs domaines comme la Data Science, la Data Visualisation, le calcul scientifique. Ce langage permet de développer des applications variées.
La formation a pour objectif de permettre aux personnes ayant des bases en programmation d’approfondir les différentes notions de bases du langage Python, d’apprendre comment créer et implémenter des interfaces graphiques, tester et gérer un programme. La formation abordera également les différents outils Python qui permettent la manipulation de fichiers, de modules et de bibliothèques.

Thèmes principaux

  • Python
  • Programmation orientée objet
  • Fonctions
  • Modules et bibliothèques
  • Outils statiques
  • Interface graphique
  • Gestionnaire d’erreur
  • Outils de tests

Infos pratiques

  • Durée : 3 jours soit 21 heures
  • Population visée : Data Scientists – Analystes – Informaticiens – Développeurs
  • Public concerné : Personnes souhaitant approfondir ses connaissances en Python.

Programme

Objectifs pédagogiques

A l’issue de cette formation, l’apprenant sera capable de :

  • Utiliser les différents composants de l’interface Python
  • Comprendre et maîtriser la syntaxe de programmation du langage Python
  • Comprendre et maîtriser les concepts de la programmation objet
  • Être capable de créer un programme
  • Gérer les erreurs d’un programme et tester un programme
  • Mettre en œuvre différents modules Python
  • Concevoir des interfaces graphiques
  • Mettre en œuvre les outils de tests de programmes Python

Pré-requis

  • Posséder des bases en programmation.

Objectifs opérationnels et contenu de la formation

Introduction

  • Présentation de Python : Historique
  • Pourquoi utiliser Python ?
  • Le langage de programmation
  • Installation de Python
  • Description de l’environnement et de l’interface de Python

Syntaxe du langage Python

  • Conventions et règles 
  • Définition des blocs et des commentaires
  • Les différents types de données
  • Les variables
  • Les différentes manipulations des types de données de base : numérique et chaîne de caractères
  • Les structures conditionnelles
  • Les opérateurs de comparaisons
  • Les boucles : While et For
  • Les fonctions

La programmation orientée objet

  • Principes de la programmation orientée objet
  • Qu’est-ce qu’un objet ?
  • Comment et par quoi est défini un objet en Python ?
    • Notions de classe, d’attributs, de méthodes
  • La classe str
  • Les objets de base
    • Création d’un objet
    • Gestion des objets de type chaîne de caractères
  • Les objets complexes et dynamiques : Les listes et tuples
    • Définition d’une liste
    • Création d’une liste
    • Composition d’une liste
    • Gestion et manipulation d’une liste : ajout et suppression d’objets, parcourir une liste
    • Création et manipulation des tuples
  • Notion d’héritage
  • Gestion des différentes classes : association
  • Le modèle de conception : Définition, création et utilisation

La programmation orientée objet en Python

  • Particularités du modèle
  • Les classes, attributs et méthodes
  • Le paramètre self
  • La protection des objets
  • L’héritage : simple et complexe
  • Les méthodes : simples et spéciales
  • Premier exemple d’implémentation d’interfaces
  • Les modèles de conception courants
  • Gestion des erreurs

Les métaclasses

  • Notion d’une métaclasse
  • Les méthodes relatives aux métaclasses
  • Créer une classe dynamique

Gestion de l’interface et de l’interface Python : Utilisation de StdLib

  • Utilisation d’arguments en ligne de commande
  • Les expressions régulières
    • Définition
    • Utilisation
  • Manipulation des fichiers
  • Les principaux modules pour l’importation de données
  • Installation et gestion de bibliothèques Python

Outils statiques et de tests

  • Outils QA
  • Les outils d’analyse statique : Pylint, Pychecker
  • Compte rendu d’analyse de programme
  • Le débogueur de Python
  • Notion de test
  • Utilisation de tests pour le développement de programmes

Interfaces graphiques

  • Principes de programmation d’interfaces
  • La bibliothèque TkInter
  • Les principaux outils proposés par TkInter
  • Gestion des fenêtres graphiques
  • Définition et création des composants de l’interface

Méthodes et moyens

  • Explications théoriques suivies de pratiques guidées puis mises en autonomie
  • 1 vidéoprojecteur par salle
  • 1 ordinateur par stagiaire

Méthodes d’évaluation des acquis

  • Exercices de synthèse et d’évaluation
  • Evaluation de fin de stage

Profil formateur

Nos formateurs sont certifiés à l’issue d’un parcours organisé par nos soins. Ils bénéficient d’un suivi de compétences aussi bien au niveau technique que pédagogique.

Support stagiaire

  • Support papier ou électronique (dématérialisé)
  • Les exercices d’accompagnement peuvent être récupérés sur clef USB