Programmation avancée en Python
Cours Master 1 Hydraulique, Université de Bajaia
- Python
1.1. Open-source
1.2. Tutoriel en ligne sur le site de Python
1.3. Popularité
1.4. Caractéristiques
1.5. Pourquoi le Python?
1.6. Python pour l'Hydraulique
1. Python¶
Le langage de programmation Python a été créé en 1989 par Guido van Rossum
La première version publique a été publiée en 1991.
La version de Python actuelle est 3.13.7 diffusée le 4 out 2025 : https://www.python.org/
Le développement et le maintien de Python est assuré par "Python Software Foundation" (PSF)
1.1. Open-source¶
Python est développé sous la license "OSI-approved open source"
IL est librement utilisable et distribuable même à des fins commerciales
1.3. Popularité¶
Actuellement Python est le langage de programmation le plus utilisé au monde (voir les classements TIOBE 3 et IEEE Spectrum 4).
1.4. Caractéristiques¶
Ce langage de programmation présente de nombreuses caractéristiques :
Il est multi-plateforme :
Il fonctionne sur de nombreux systèmes d’exploitation :
- Windows, Mac OSX, Linux, Android, iOS,
- mini-ordinateurs Raspberry Pi
- supercalculateurs.
C’est un langage de haut niveau :
Il demande relativement peu de connaissance sur le fonctionnement d’un ordinateur pour être utilisé.
C’est un langage interprété :
Un script Python n’a pas besoin d’être compilé pour être exécuté, contrairement à des
langages comme le C ou le C++.
Il est orienté objet :
Le langage python permet de concevoir et écrire des programmes selon les trois paradigmes fondamentaux de la programmation qui sont
- la programmation orientée objet (POO) : basée sur la définition d'une collection objets qui interagissent entre eux.
- la programmation fonctionnelle (déclarative) : basée sur des fonctions réalisant des tâches spécialisées.
- la programmation séquentielle (ou impérative) : basée sur une suite d'instructions et caractérisée par des variables qui peuvent être modifiées au fil de l'exécution.
1.5. Pourquoi le Python?¶
Le Python est un langage interprété d'usage général avec lequel on peut tout faire:
- interfaces graphiques ;
- calcul scientifique ;
- applications webs / base de données ;
- etc.
Il possède aussi une Vaste bibliothèque de modules (appelé aussi paquets : packages) qui permet de tout faire assez simplement.
Relativement à d'autres langages, sa syntaxe est cohérente et simple:
- c'est un langage avant tout orienté objet ;
- c'est aussi un langage fonctionnel.
Il est (relativement) Facile à apprendre et agréable à utiliser.
Le Python est conçu pour s’interfacer facilement aux autres langages.
Les défauts
- selon les circonstances, les programmes écrits en Python peuvent comporter des problèmes de performance (être lents pour certaines tâches) ;
- c’est le cas de tous les langages interprétés.
1.6. Python pour l'Hydraulique
- Traitement de données
- Simulations en CFD :
- JAX CFD (https://github.com/google/jax-cfd)
- FluidSim (https://github.com/fluiddyn/fluidsim)
- CFD_FEniCS
- FEniCS Project (https://fenicsproject.org/) - IA
- Hydrology (https://github.com/raoulcollenteur/Python-Hydrology-Tools)
- Autres (voir par exemple https://github.com/thw1021/Code4CFD