[wpms_breadcrumb reverse="0"]
Developpement - Mobile - Formation numérique

« Python – Développement Objet

Reference : IM15
5 jours - 2 630 €  € HT Télécharger la fiche
Prochaines sessions
    « Python – Développement Objet
    Objectifs

    • Maîtriser la syntaxe du langage Python
    • Acquérir les notions essentielles de la programmation objet
    • Savoir mettre en oeuvre les différents modules Python
    • Être en mesure de concevoir des interfaces graphiques
    • Pouvoir mettre en oeuvre les outils de test et d’évaluation de la qualité d’un programme Python

    Pré requis

    • Connaissances de base en programmation

    Modalités pédagogiques

    Cours dispensé en mode présentiel avec une alternance d’apports théoriques et méthodologiques, et de mises en situations pratiques

    Public visé
    • Développeurs, ingénieurs, chefs de projets proches du développement.
    Inscription

    Programmes de « Python – Développement Objet

    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
    • Travaux pratiques : installation et prise en main de l’interpréteur Python

    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)
    • Travaux pratiques : modélisation en UML d’un cas d’étude simple

    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
    • Travaux pratiques : pratique des différents concepts objet au travers de l’implantation de l’étude de cas

    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
    • Travaux pratiques : mise en oeuvre de modules Python : expressions régulières, accès à une base de données

    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
    • Travaux pratiques : utilisation des outils pylint et pychecker pour la vérification d’un code Python ; mise en oeuvre de tests unitaires

    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
    • Travaux pratiques : conception d’une interface graphique avec la bibliothèque Tkinter

    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 : appel de fonctions écrites en C depuis Python ; création de modules C pour Python avec Pyrex