Présentation de Python
Python est édité par Python Software Foundation (PSF).
C’est un langage de programmation objet, multi-paradigme et multi-plateformes, né en 1991 du travail de Guido van Rossum. Il favorise la programmation impérative structurée et orientée objet.
Python est doté d’un typage dynamique fort, d’une gestion automatique de la mémoire par ramasse-miettes et d’un système de gestion d’exceptions ; il est ainsi similaire à Perl, Ruby, Scheme, Smalltalk et Tcl.
Python est un langage interprété, c’est-à-dire que les instructions que vous lui envoyez sont « transcrites » en langage machine au fur et à mesure de leur lecture.
De plus, il faudra installer Python sur le système d’exploitation que vous utilisez pour que l’ordinateur puisse comprendre votre code.
Python est aussi le langage de programmation le plus utilisé dans le domaine du Machine Learning, du Big Data et de la Data Science.
Points forts
- Python est gratuit et “Open Source”, on peut l’utiliser sans restriction dans des projets commerciaux.
- Python est portable, non seulement sur les différentes variantes d’Unix et Linux, mais aussi sur les OS propriétaires : MacOS et Windows.
- Python convient aussi bien à des scripts d’une dizaine de lignes de code qu’à des projets complexes de plusieurs dizaines de milliers de lignes.
- En Python, la syntaxe est très simple et, combinée à des types de données évolués (listes, dictionnaires ..), conduit à des programmes à la fois très compacts et très lisibles. A fonctionnalités égales, un programme Python complet et dûment commenté est souvent de 3 à 5 fois plus court qu’un programme C ou C++, ou même Java équivalent, ce qui représente en général un temps de développement de 5 à 10 fois plus court et une facilité de maintenance largement accrue.
- Python gère ses ressources (mémoire, descripteurs de fichiers ..) sans intervention du programmeur, par un mécanisme de comptage de références (proche, mais différent, d’un “garbage collector”, ramasse miettes).
- Il n’y a pas de pointeurs explicites en Python.
- Python est aussi multi-threadé.
- Python est orienté objet. Il supporte l’héritage multiple et la surcharge des opérateurs. Dans son modèle objet, et en reprenant la terminologie de C++, toutes les méthodes sont virtuelles.
- Python intègre, comme Java ou les versions récentes de C++, un système d’exceptions, qui permettent de simplifier considérablement la gestion des erreurs.
- Python est dynamique (l’interpréteur peut évaluer des chaînes de caractères représentant des expressions ou des instructions Python), orthogonal (un petit nombre de concepts suffit à engendrer des constructions très riches), réflectif (il supporte la méta-programmation, par exemple la capacité pour un objet de se rajouter ou de s’enlever des attributs ou des méthodes, ou même de changer de classe en cours d’exécution) et introspectif (un grand nombre d’outils de développement, comme le “debugger” ou le “profiler”, sont implantés en Python lui-même).
- Comme Scheme ou SmallTalk, Python est dynamiquement typé. Tout objet utilisé par le programmeur possède un type bien défini à l’exécution, qui n’a pas besoin d’être déclaré à l’avance.
- Python possède actuellement 2 implémentations. L’une, écrite en C, interprétée. L’autre, JPython, est écrit en Java et génère directement du bytecode Java.
- Python est extensible : comme Tcl ou Guile, on peut facilement l’interfacer avec des bibliothèques C existantes. On peut aussi s’en servir comme d’un langage d’extension pour des systèmes logiciels complexes.
- La bibliothèque standard de Python, et les paquets contribués, donnent accès à une grande variété de services: chaînes de caractères et expressions régulières, services UNIX standards (fichiers, pipes, signaux, sockets, threads…), protocoles Internet (Web, News, FTP, CGI, HTML ..), persistance et bases de données, interfaces graphiques.
- Python est un langage qui continue à évoluer, soutenu par une communauté d’utilisateurs enthousiastes et responsables, dont la plupart sont des supporters du logiciel libre.
- Enfin, Python est un langage de choix pour traiter le XML.
- Écrire des programmes en Python prend moins de temps que dans un autre langage. Il s’agit d’un langage idéal pour les débutants.
Points faibles
- Moins performant qu’un langage compilé : en effet, les programmes Python sont interprétés, puis compilés en instructions portables, puis exécutés par une machine virtuelle (comme pour Java, avec une différence importante: Java étant statiquement typé, il est beaucoup plus facile d’accélérer l’exécution d’un programme Java que d’un programme Python).
Historique des versions de Python
Il y a eu 3 versions majeures entre juin 1991 et mai 2020.
mai 2020
Python 3.8 |
|
---|---|
décembre 2008
Python 3 |
|
juillet 2010
Python 2.7 |
|
octobre 2000
Python 2 |
Python 2.x est l’ancienne version, qui a été supportée avec des mises à jour officielles jusqu’en 2020. Après cette date, elle continuera d’ailleurs sans doute de subsister de façon non officielle.
|
septembre 2000
Python 1.6 |
|
avril 1999
Python 1.5 |
|