Les bases du langage Python

Introduction au langage Python

Le langage Python

Python est un langage de programmation général développé dans les années 90 par Guido van Rossum. Il s'agit d'un langage gratuit et open-source, dont le développement est coordonné par la Python Software Foundation.

Parmi les domaines d'applications, on compte celui des communications, le développement web, les interfaces CGI et graphiques pour utilisateurs, la programmation de jeux, les applications multimédia, les techniques d'analyses scientifiques (calcul numérique et symbolique, statistiques, etc.). En particulier, dans le domaine académique mais également en ingéniérie, il s'agit d'un langage de choix pour de nombreuses applications. Enfin, du fait de sa syntaxe assez simple, il s'agit d'un langage souvent utilisé pour une introduction à l'informatique ou à la programmation.

La popularité de Python a réellement explosé à partir de 2012, date correspondant au développement de nombreux projets annexes, tels que Pandas ou statsmodels, et qui font désormais partie intégrante de ce que l'on dénomme le Python Data Stack dans le domaine du calcul scientifique.

Caractéristiques du langage

Python constitue un langage de haut niveau, idéal pour le développement rapide d'application ou la programmation agile. Le coeur du langage, tel qu'organisé dans CPython, est relativement limité, mais les librairies de base qui lui sont associées permettent de réaliser la plupart des choses que l'on ferait dans d'autres langages de haut niveau (Clojure ou Ruby, par exemple).

Pour le calucl scientifique, les librairies suivantes sont indispensables et complètent le "Python Data Stack" cité plus haut :

  • numpy : gestion de tableaux multidimensionnels et routines d'algèbre linéaire ;
  • scipy : l'essentiel de numpy avec en plus le support de procédures statistiques (distributions, estimateurs, tests) ;
  • matplotlib : un moteur et une interface de rendu graphique pour des images en 2 ou 3 dimensions.

Enfin, Python supporte plusieurs paradigmes de programmation, tels que la programmation impérative, fonctionnelle ou orienté-objet. Sa syntaxe élégante et simplifiée (pas de séparateur d'instructions en fin de ligne mais une indentation significative pour délimiter les blocs d'instruction, notation infixée pour les expressions mathématiques, support amélioré du traitement des chaînes de caractères) en font un candidat de choix pour le prototypage rapide de scripts et le développement d'applications plus complexes (site web, interface pour base de données, mesures électroniques, calcul numérique intensif).

Programmation scientifique

Voici un exemple d'utilisation de Numpy :

import numpy as np

a = np.linspace(-np.pi, np.pi, 100)
b = np.cos(a)
c = np.sin(a)

print(np.inner(b, c))
-5.943094653804269e-16
Generated by Emacs 28.1 (Org mode 9.5.2) on 2022-11-17 jeu. 12:55 (chl@aliquote)