Formation : Python – Programmation avancée

L’objectif de la formation est de présenter les nouveautés du langage Python ainsi que les concepts avancés de la programmation en Python. Cette formation vous permettra, en particulier, de découvrir les concepts de la programmation fonctionnelle et de la programmation asynchrone.

 

  • Définition de classes et création d’objets
  • Encapsulation
    • Définition de membres privés et protégés
  • L’héritage en Python
    • Définition de l’héritage et conséquence
    • L’héritage multiple
  • Le polymorphisme
  • Classes et méthodes abstraites
    • Le module abc
  • La gestion des exceptions
    • Rappels sur les notions fondamentales
    • Hiérarchie des exceptions dans la bibliothèque standard
  • Améliorations sur la gestion des exceptions
    • Gestion de multiples exceptions
    • Gérer la sortie du bloc de capture : try… except… finally…
    • La structure with
    • Bonnes pratiques de conception des classes d’exceptions utilisateurs
  • Extension du système d’exception par les classes d’exceptions utilisateur
  • Les méthodes magiques
    • Les méthodes d’implémentation des comparateurs
    • Les méthodes d’implémentation des opérateurs mathématiques
    • Les méthodes de gestion du cycle de vie des objets
  • Principe de fonctionnement et usages
    • Lien avec le design-pattern
  • Définition des fonctions de décorations
    • Syntaxe
    • Gestion des paramètres
  • Application des décorateurs
    • Impact sur les éléments décorés
  • Les décorateurs standard du langage
  • Les itérateurs
    • Principes de fonctionnement
    • Création d’itérateurs personnalisés
  • Les itérateurs et les générateurs
    • Différences de fonctionnement
  • Implémentation de générateurs
    • Principes de construction
    • Le mot-clé yield
    • La fonction next()
  • Le principe des « context managers »
    • Fonctionnement
    • Le mot-clé with
  • Déclaration de « context managers »
    • Structure de la classe
    • Les méthodes __enter__() et __exit__()
  • Les « context managers » sous forme de fonctions
    • Le module contextlib

« Context managers » et décorateurs

  • Utilité de la programmation asynchrone
    • Notion de thread et de sous-processus
    • Le mot-clé async
  • Le module thread et la classe associée
    • Modèle de programmation
    • Définition d’une tâche asynchrone et de son traitement
  • Le module asyncio
    • Modèle de programmation
    • Fonction de l’API
  • Principes de base de la programmation fonctionnelle
    • Implémentation en Python
  • Définition de fonctions lambda
    • Déclaration
    • Limites de l’implémentation
  • Les décorateurs et les lambdas
    • Appliquer un décorateur sur une fonction lambda
  • Principes et finalités
  • Le module CType
  • Charger une librairie C dans Python
    • Invocation de fonction C depuis Python
  • Utilisation du profileur de code pour la mise au point
  • Principes de packaging et distribution
    • Les ressources nécessaires et les contraintes
    • Distribution d’applications Python
    • Distribution de librairies
  • Création de modules Python avec distutils
    • L’outil standard distutils
    • Le fichier setup.py
    • Installation de modules packagés avec distutils
  • Création, packaging et distribution d’application avec setuptools
    • Concepts de setuptools
    • Mise en œuvre
  • Principes de base
    • Vers l’universalité d’une documentation d’API
  • Les différentes solutions techniques et leur couverture de fonctionnalités
    • Pydoc, Epydoc, Sphinx, …
  • Mise en œuvre dans une application complète

Durée : 21h
Horaires : soirs / week-ends
Groupes de 5 à 10 personnes

Contacts
Localisation
Nous suivre

S'inscrire

Formation Python – Programmation avancée