Formations informatiques à Grenoble et Sophia Antipolis

Formation PYTHON Programmation Orientée Objet

Objectifs

Définir les bases et conventions Python.

Expérimenter la programmation orientée objet en Python.

Gérer les exceptions de manière structurée.

Explorer les aspects avancés de POO en Python.

Appliquer les bonnes pratiques de développement.

Etablir la persistance d'objet en Python.

Utiliser des design patterns en Python.

Pré-requis

Avoir suivi la formation "Introduction au langage Python " ou disposer de soldes bases sur le langage.

Participants

Développeurs, administrateurs systèmes, ingénieurs scientifiques désireux d'apprendre la programmation orientée objet en Python.

Programme de formation

PYTHON Programmation Orientée Objet

INTRODUCTION ET RAPPELS PYTHON

  1. Python, un langage polyvalent

  2. Python 2 vs Python 3

  3. La PEP 8 et les conventions de codage Python

  4. Les types de base

    • int
    • float
    • str
    • bool
  5. Les principales collections

    • list
    • tuple
    • set
    • dict

INTRODUCTION A LA PROGRAMMATION ORIENTEE OBJET EN PYTHON

  1. Pourquoi programmer de manière orientée objet ?

    • Concept d'encapsulation
    • Concept d'héritage
  2. Mise en œuvre de classes

    • Définition et instanciation d'une classe
    • Définition d'attributs de classe
    • Définition de méthodes de classe
    • Constructeurs et destructeurs
    • Mise en œuvre de propriétés
    • Redéfinition d'opérateurs
  3. Mise en œuvre de l'héritage

    • Surcharge vs redéfinition
    • Notion de polymorphisme
    • L'héritage multiple en Python

GESTION STRUCTUREE DES EXCEPTIONS

  1. Comment fonctionne la gestion des exceptions en Python ?

  2. La hiérarchie de classes d'exceptions

  3. L'instruction try/except/finally

  4. L'instruction raise

  5. Définir ses propres classes d'exception

ASPECT AVANCE DE PROGRAMMATION ORIENTEE OBJET EN PYTHON

  1. Coder une classe "itérable" en Python

    • Le pattern _iter_/_next_
    • Utilisation de vos objets via l'instruction for
    • Comparaison entre itérateurs et générateurs Python
  2. Définition d'un ContextManager

    • Le pattern _enter_/_exit_
    • Utilisation de vos objets via l'instruction with
    • ContextManager et gestion des exceptions
  3. Gestion des types abstraits via le module "abc"

    • Qu'est-ce qu'un type abstrait ?
    • Difficultés inhérentes au langage Python
  4. La réflexion en Python

    • Qu'est-ce que la réflexion en programmation Orientée Objet ?
    • Mise en œuvre de la réflexion
  5. Développement de décorateur Python

    • Qu'est-ce qu'un décorateur Python ?
    • Mise en œuvre de la réflexion

BONNES PRATIQUES DE DEVELOPPEMENT

  1. Documenter son code et ses classes avec les docstrings

  2. Mise en œuvre de tests DocTest

  3. Mise en œuvre de procédure de tests unitaires avec UnitTest

  4. Intégration de l'outil UnitTest avec votre IDE

  5. Le TDD (Test Driven Development)

PERSISTENCE D'OBJET EN PYTHON

  1. Persistance d'objets en JSON

    • Présentation d'un module JSON
    • Persistance de données Python en JSON
    • Persistance de l'état d'un objet
    • Rechargement d'objet à partir d'un flux JSON
  2. Persistance d'objets en base de données via SqlAlchemy

    • Qu'est-ce qu'un ORM (Object Relational Mapping) ?
    • Définir les données du mapping
    • Manipulation CRUD de vos données
    • Mapping des relations entre tables
    • Le chargement paresseux (Lazy Loading)

MISE EN ŒUVRE DE DESIGN PATTERNS (PATRONS DE CONCEPTION) EN PYTHON

  1. Qu'est-ce qu'un design pattern ?

  2. Quelles sont les spécificités Python quant à la mise en œuvre de design patterns ?

  3. Les différentes catégories de design patterns

  4. Quelques patterns de création (Creational Pattern)

    • Le design pattern Singleton
    • Le design pattern Factory Method
    • Le design pattern Abstract Factory
    • Le design pattern Builder
  5. Quelques patterns structuraux (Structural Design Pattern)

    • Le design pattern Composite
    • Le desing pattern Proxy
    • Le design pattern Decorator
    • Le design pattern Flyweight
  6. Quelques patterns comportementaux (Behavioral Patterns)

    • Le pattern Interpretor
    • Le pattern Iterator
    • Le pattern Chain of Responsability
    • Le pattern Observer
Durée
5 jours
Lieux
Meylan Moirans Sophia Dans vos locaux Classe distancielle
Groupe de 8 personnes maximum
Demandez un devis
Cette thématique vous intéresse ?
Nos experts conçoivent votre formation sur-mesure On adore les moutons à 5 pattes !
Formations dans la même thématique