Introduction

15 min Niveau 1

Python est un langage de script de haut niveau, interprété, interactif et orienté objet. Il est conçu pour être très lisible et utilise fréquemment des mots-clés anglais alors que les autres langages utilisent des ponctuations. Il possède moins de constructions syntaxiques que les autres langages.

  • Python est interprété - Python est traité au moment de l'exécution par l'interpréteur. Vous n'avez pas besoin de compiler votre programme avant de l'exécuter. Ceci est similaire à PERL et PHP.
  • Python est interactif - Vous pouvez créer des scripts Python directement depuis un shell ou une console Windows.
  • Python est orienté objet - Python prend en charge le style ou la technique de programmation orientée objet qui encapsule le code dans des objets.
  • Python est un langage simple - La structure du langage Python en fait un excellent langage pour les programmeurs débutants. De plus, la communauté de Python est active et vaste.
  • Python est un langage aux vastes applications - Python permet le développement d'une large gamme d'applications allant de la simple manipulation de texte aux création de sites web, en passant par les jeux, les scripts d'automation ou encore les technologies de l'IA. Sa grande diversité de librairies en font un outil facilement adaptable à la plupart des projets.

Histoire de Python

Python a été développé par Guido van Rossum à la fin des années 80 et au début des années 90 à l'Institut national de recherche en mathématiques et en informatique des Pays-Bas.

  • Python est dérivé de nombreux autres langages, notamment ABC, Modula-3, C, C++, Algol-68, SmallTalk, le shell Unix et d'autres langages de script.
  • Python est protégé par des droits d'auteur. Comme Perl, le code source de Python est désormais disponible sous la licence publique générale GNU (GPL).
  • Python est désormais maintenu par un conseil de direction du langage Python du Python Software Foundation, bien que Guido van Rossum joue toujours un rôle de référent dans la direction de son évolution.
  • Python 1.0 a été publié en novembre 1994, puis, en 2000, Python 2.0 a été publié. Python 2.7.11 fut la dernière édition de Python 2 (abandonnée en janvier 2020).
  • Python 3.0 a été publié en 2008 et n'est pas rétrocompatible avec Python 2. Cette version apporte la suppression des constructions de programmation et des modules en double.

Caractéristiques de Python

Les caractéristiques de Python sont les suivantes :

  • Facile à apprendre - Python possède peu de mots-clés, une structure simple et une syntaxe clairement définie. Cela permet à un étudiant de se familiariser rapidement avec le langage.
  • Facile à lire - Le code Python est simple à comprendre.
  • Facile à maintenir - Le code source de Python est assez facile à maintenir.
  • Une large bibliothèque standard - La majeure partie de la bibliothèque de Python est très portable et compatible avec toutes les plates-formes sous UNIX, Windows et Macintosh.
  • Mode interactif - Python prend en charge un mode interactif qui permet de tester et de déboguer interactivement des bouts de code.
  • Portable - Python peut fonctionner sur une grande variété de plateformes matérielles et possède la même interface sur toutes les plateformes.
  • Extensible - Vous pouvez ajouter des modules de bas niveau à l'interpréteur Python. Ces modules permettent aux programmeurs de compléter ou de personnaliser leurs outils pour les rendre plus efficaces.
  • Bases de données - Python fournit des interfaces pour toutes les principales bases de données commerciales.
  • Programmation d'interfaces graphiques (GUI) - Python prend en charge les applications GUI qui peuvent être créées et portées sur de nombreux appels système, bibliothèques et systèmes Windows, tels que Windows MFC, Macintosh et le système X Window d'Unix.
  • Évolutif - Python offre une meilleure structure et un meilleur support pour les gros programmes que les scripts shell.

Outre les caractéristiques susmentionnées, Python possède une longue liste de bonnes caractéristiques. En voici quelques-unes :

  • Il supporte les méthodes de programmation fonctionnelle et structurée ainsi que la POO.
  • Il peut être utilisé comme un langage de script ou peut être compilé en byte-code pour construire de grandes applications.
  • Il fournit des types de données dynamiques de très haut niveau et supporte la vérification dynamique des types.
  • Il prend en charge la collecte automatique des déchets.
  • Il peut être facilement intégré à C, C++, COM, ActiveX, CORBA et Java.

Des Pythons

Python se décline en plusieurs types. Chacune de ces versions de Python se différencient du CPython que tout le monde connaît sous l'appellation "Python".

Voici les versions Python existantes:

  • CPython : La version de Python sur laquelle portera les cours (et la plus utilisée). C'est l’implémentation de référence de Python, écrite en C. Il compile le code Python en un bytecode intermédiaire qui est ensuite interprété par une machine virtuelle. CPython fournit le plus important niveau de compatibilité avec les paquets Python et les modules avec extension en C.
  • Jython : C'est une version Python qui compile du code Python en bytecode Java qui est ensuite exécuté par la JVM (Java Virtual Machine). De plus, il est capable d’importer et d’utiliser n’importe quelle classe Java comme un module Python. https://www.jython.org/jython-3-mvp.html
  • Cython : Si CPython est un langage facile à lire et à écrire, il est beaucoup plus lent qu'un langage de bas niveau. Cython permet d'accélérer un programme d'un facteur 2 à plus de 100 et d'intégrer facilement des fonctions déjà écrites en C. https://cython.org/
  • Pypy : Version optimisée de Python écrite en RPython. Elle se comporte comme un compilateur “just-in-time” (JIT) et supporte de multiples back-ends (C, CLI, JVM). https://www.pypy.org/index.html
  • IronPython : C'est une implémentation de Python pour le framework .NET. Il peut utiliser à la fois les bibliothèques des frameworks Python et .NET, et peut aussi exposer du code Python vers d’autres langages dans le framework .NET. https://ironpython.net/
  • PythonNet : C'est un paquet qui fournit une intégration presque transparente d’une installation native de Python avec le Common Language Runtime (CLR) de .NET . C’est un approche inverse que celle qui est prise par IronPython, qui est plus complémentaire que concurrente de cette dernière. http://pythonnet.github.io/
  • Stackless : Implémentation Python qui vise à supprimer l'utilisation de la pile du langage C. https://github.com/stackless-dev/stackless/wiki/
  • MicroPython : Implémentation Python destiné aux microcontrôleurs. https://micropython.fr/

Naissance de Python

Les circonstances dans lesquelles Python a été créé sont un peu déroutantes. Selon Guido van Rossum :

En décembre 1989, j'étais à la recherche d'un projet de programmation "de loisir" qui me tiendrait occupé pendant la semaine de Noël. Mon bureau (...) était fermé, mais j'avais un ordinateur à la maison, et pas grand chose d'autre à faire. J'ai décidé d'écrire un interpréteur pour le nouveau langage de script auquel j'avais pensé dernièrement : un descendant de ABC qui plairait aux hackers Unix/C. J'ai choisi Python comme langage de travail. J'ai choisi Python comme titre provisoire pour le projet, étant d'humeur légèrement irrévérencieuse (et un grand fan du Monty Python's Flying Circus).

-- Guido van Rossum

Les objectifs de Python

En 1999, Guido van Rossum a défini ses objectifs pour Python :

  • un langage facile et intuitif tout aussi puissant que ceux des principaux concurrents ;
  • open source, afin que chacun puisse contribuer à son développement ;
  • un code aussi compréhensible que l'anglais courant ;
  • adapté aux tâches quotidiennes, permettant des temps de développement courts.

Environ 20 ans plus tard, il est clair que toutes ces intentions ont été réalisées. Certaines sources affirment que Python est le langage de programmation le plus populaire au monde, tandis que d'autres prétendent qu'il est le deuxième ou le troisième. Quoi qu'il en soit, il occupe toujours un rang élevé dans le top 10 de l'indice de popularité des langages de programmation PYPL et de l'indice de la communauté de programmation TIOBE.

Python n'est plus un jeune langage. Il est mature et digne de confiance. Ce n'est pas une merveille à succès. C'est une étoile brillante au firmament de la programmation, et le temps passé à apprendre Python est un très bon investissement.

Des concurrents de Python ?

Python a deux concurrents directs, avec des propriétés et des prédispositions comparables. Il s'agit de :

  • Perl - un langage de script écrit à l'origine par Larry Wall ;
  • Ruby - un langage de script écrit à l'origine par Yukihiro Matsumoto.

Le premier est plus traditionnel et plus conservateur que Python, et ressemble à certains des anciens langages dérivés du langage de programmation C classique. En revanche, le second est plus innovant et plus riche en idées nouvelles que Python. Python lui-même se situe quelque part entre ces deux créations.

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus