Objectifs

– Découvrir les concepts avancés du langage Python

– Interfacer Python avec d’autres lan

Programme

– Compréhension de listes, de dictionnaires…

– Itérateurs et générateurs

– Modules itertools, collections

– Lambda fonctions

– Décorateurs

– Instructions with et Contextlib
Travaux pratiques
Série d’exercices pour manipluer les différentes notions

– Les classes

– Héritage, polymorphisme

– Le « Data-Model » et les fonctions « magiques »

– Résolution des héritages multiples

– Cas de la méthode « super »

– Descripteurs __get__ et __set__

– Propriétés (properties) – La mro – dict__ et __slots__

– Classes abstraites

– Méta-programmation
Travaux pratiques
Implémentation d’une étude de cas en utilisant le paradigme orienté objet

– Meilleures pratiques

– Annotations

– Respect de la PEP 8

– normes de codage

– Tests unitaires (doctest et unittest)

– setup.py et scripts de contrôle

– L’utilitaire pip

– Installer un package

– Désinstaller un package

– Enregistrer et uploader un package

Travaux pratiques
Packager une librairie et la mettre sur PyPI

-Multithreading
-Multiprocessing
– Gestion des caches
-Profiling
-Analyse de l’occupation mémoire
Travaux pratiques
Distribution des données et des traitements
Analyser les performances des applications

-Objectif et principe
 -SWIG
-Cython
-Le module ctypes
Travaux pratiques
Appel de fonctions écrites en C depuis Python. Création de modules
C pour Python avec Pyrex.

Référence :  DEV025

Type de Stage : Pratique

Durée : 3 jours

Public concerné:

Développeurs, chefs de projets
techniques.

Prérequis:

Connaissances de base en
Python.