Python : programmation avancée

Ce cours est un cours de programmation Python avancé et suppose les bases du langage maîtrisées. Le cours Python est un prérequis.

Un test technique est proposé pour vérifier les compétences de base.

Installez le langage et l’environnement de développement VS Code avec cette page.

Le langage Python est élégant, concis, structuré, puissant et permet un code lisible et performant. Les temps d’exécution d’un programme Python naïf sont dans un rapport 75 avec les langages les plus rapides (C, Rust, …). Cependant on peut réduire drastiquement les temps d’exécution de ces programmes naïfs.

Bonnes pratiques

Rapport avec les langages compilés

Python naïf

75

Structures de données adaptées

20

Bibliothèques optimisées (Numpy, Pandas, …)

10

Compilateurs JIT (Numba, Pypy, …)

2

Appel à des fonctions bas niveau en C

1

Ce que montre ce tableau est que la vitesse d’exécution peut être grandement améliorée par la mise en oeuvre de bonnes pratiques de programmation.

Python est devenu depuis plusieurs années le langage scientifique de référence avec le package Numpy qui introduit des structures de données optimisées et la vectorisation. L’écosystème Scipy est une alternative libre et performante à Matlab.

Python est devenu également le langage dominant de la data science avec l’introduction de packages orientés données : pandas, polars, Arrow, …

Python dispose d’un vaste écosystème pour la visualisation de données et la construction de dashboards interactifs avec les packages Dash et plotly.

Il est possible de construire des applications web avec Flask et Django.

Python fournit également de puissantes bibliothèques pour le Machine Learning et le Deep Learning, les technologies de l’intelligence artificielle.