Python (langage)

Infos
Python est un langage de programmation interprété, multi-paradigme. Il favorise la programmation impérative structurée, et orientée objet. Il 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. Le langage Python est placé sous une licence libre proche de la licence BSDhttp://www.python.org/psf/license/ et fonctionne sur
Python (langage)

Python est un langage de programmation interprété, multi-paradigme. Il favorise la programmation impérative structurée, et orientée objet. Il 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. Le langage Python est placé sous une licence libre proche de la licence BSDhttp://www.python.org/psf/license/ et fonctionne sur la plupart des plates-formes informatiques, des supercalculateurs aux ordinateurs centraux, de Linux à Unix en passant par Windows et MacOS, avec java ou encore .NET. Il est conçu pour optimiser la productivité des programmeurs en offrant des outils de haut-niveau et une syntaxe simple à utiliser. Il est également apprécié par les pédagogues qui y trouvent un langage où la syntaxe clairement séparée des mécanismes de bas niveau, permet une initiation plus aisée aux concepts de base de la programmation.

Utilisations

Python est un langage qui peut s'utiliser dans de nombreux contextes et s'adapter à tout type d'utilisation grâce à des bibliothèques spécialisées à chaque traitement. Il est cependant particulièrement utilisé comme langage de script pour automatiser des tâches simples mais fastidieuses comme par exemple un script qui récupérerait la météo sur internet ou qui s'intégrerait dans un logiciel de conception assistée par ordinateur afin d'automatiser certains enchaînements d'actions répétitives. On l'utilise également comme langage de développement de prototype lorsqu'on a besoin d'une application fonctionnelle avant de l'optimiser avec un langage de plus bas niveau. Il est particulièrement répandu dans le monde scientifique, et possède de nombreuses extensions destinées aux applications numériques.

Histoire

Python a été créé au début des années 1990 par Guido van Rossum au CWI aux Pays-Bas en tant que successeur du langage ABC pouvant gérer les exceptions et s'interfacer avec le système d'exploitation Amoeba. Van Rossum est le principal auteur de Python, et son rôle de décideur central permanent de Python est reconnu avec humour par le titre de « Dictateur bienveillant à vie » (Benevolent Dictator for Life, BDFL). La dernière version sortie au CWI était Python 1.2. En 1995, Van Rossum continua son travail sur Python au CNRI à Reston, aux États-Unis, où il sortit plusieurs versions du logiciel. Python 1.6 fut la dernière version sortie au CNRI. Après la sortie de Python 1.6, et après que Van Rossum a quitté le CNRI pour travailler avec des développeurs de logiciels commerciaux, le CNRI et la Fondation pour le logiciel libre collaborèrent pour modifier la licence de Python afin de la rendre compatible avec la GPL. Python 1.6.1 est essentiellement le même que Python 1.6 avec quelques correctifs mineurs et la nouvelle licence compatible GPL. En 2000, l'équipe principale de développement de Python déménagea à BeOpen.com pour former l'équipe PythonLabs de BeOpen. Python 2.0 fut la seule version sortie à BeOpen.com. Après cette version, Guido Van Rossum et les autres développeurs de PythonLabs rejoignirent Digital Creations. Python 2.1 fut une version dérivée de Python 1.6.1, ainsi que de Python 2.0. Sa licence fut renommée Python Software Foundation License. Tout code, documentation et spécifications ajouté, depuis la sortie de Python 2.1 alpha, est détenu par la Python Software Foundation (PSF), une association sans but lucratif fondée en 2001, modelée d'après l'Apache Software Foundation. Un développement parallèle, entamé en 2004, est en discussion pour Python 3.0. Cette nouvelle version cassera la compatibilité ascendante afin de réparer certains défauts du langage (orientation objet avec deux types de classes, etc), et pour nettoyer la bibliothèque standard de ses éléments obsolètes et redondants. La première version alpha est sortie en septembre 2007.

Caractéristique du langage

Syntaxe

Python a été conçu pour être un langage lisible. Il vise à être visuellement épuré, et utilise des mots anglais fréquemment là où d'autres langages utilisent de la ponctuation, et possède également moins de constructions syntaxiques que de nombreux langages structurés tels que C, Perl, ou Pascal. Les blocs sont identifiés par l'indentation, au lieu d'accolades comme en C/C++, ou de Begin ... End comme en Pascal. Une augmentation de l'indentation marque le début d'un bloc, et une réduction de l'indentation marque la fin du bloc courant. Les parenthèses sont facultatives dans les structures de contrôle :

Types de base

Les types de base en Python sont relativement complets et puissants, il y a entre autres :
- Les objets numériques
- int est un entier classique.
- long est un entier dont la mémoire de stockage est allouée dynamiquement, la taille maximale n'est donc pas fixe et dépend de la capacité de la machine.
-float est un flottant équivalent au double du C.
-complex est une approximation d'un nombre complexe (typiquement deux floats)
- Les objets "itérables"
- Les objets list sont des tableaux dynamiques (ils étendent automatiquement leur taille lorsque nécessaire) et acceptent des types de données hétérogènes.
- Les objets set sont des ensembles non ordonnés d'objets.
- Les objets dict sont des tableaux associatifs (ou dictionnaires) permettant d'associer un objet (une clef) à un autre.
- Les objets str sont des chaînes de caractères, qui possèdent une multitude de méthodes de base pour remplacer des mots, éliminer les espaces blancs, séparer le texte en morceau, etc. Ce sont des objets itérables car ils peuvent être vus comme des listes d'autres str d'un seul caractère.
- Les tuple (ou n-uplet) sont une variante non mutable des listes ; de même il existe une version immutable des dictionnaires (frozendict) et des ensembles (frozenset). Les objets itérables sont parcourus à l'aide d'une boucle for de la manière suivante : for element in objet_iterable: traiter(element) Il est possible de dériver les classes des types de base pour créer ses propres types. On peut également fabriquer ses propres types d'objets itérables sans hériter des itérables de base en implémentant le protocole d'itération du langage.

Programmation fonctionnelle

Python permet de programmer dans un style fonctionnel. Les compréhensions de listes sont disponibles. Par exemple, pour construire la liste des carrés des entiers naturels plus petits que 10, on peut utiliser l'expression : l = la liste des nombres pairs : l = Une forme limitée de fonctions lambda, ou fonctions anonymes, est disponible : lambda x: x+2 Les fonctions lambda peuvent être définies en ligne et utilisées comme arguments dans des expressions fonctionnelles : filter(lambda x: x < 5, une_liste) retournera une liste constituée des éléments de une_liste inférieurs à 5. Le même résultat peut être obtenu avec [x for x in une_liste if x
Sujets connexes
ABC (langage)   AIX   Afpy   Algèbre de Boole (logique)   Amiga   Apache Software Foundation   BeOS   Berkeley Software Distribution   Bibliothèque logicielle   Boo (langage)   C (langage)   Centrum voor Wiskunde en Informatica   Commentaire (informatique)   Compilateur   Compréhension de liste   Conception assistée par ordinateur   EVE Online   Environnement de développement   Expression rationnelle   Fondation pour le logiciel libre   Framework   FreeBSD   GP2X   GTK+   Google   Guido van Rossum   Générateur (informatique)   Indentation   Industrial Light & Magic   Interprète   Irix   IronPython   Java (langage)   Jeu vidéo   Juin   Jython   Langage de bas niveau   Langage de haut niveau   Langage de programmation   Langage de script   Licence BSD   Licence publique générale GNU   Linux   Mac OS 9   Mac OS X   Machine virtuelle Java   Microsoft .NET   Microsoft Windows   Méthode agile   N-uplet   NetBSD   Nintendo DS   Nombre complexe   OS/2   OS/390   OS/400   OpenBSD   Ordinateur central   Palm OS   Paradigme (programmation)   Parrot   Pays-Bas   Perl (langage)   Plate-forme   PlayStation 2   PlayStation Portable   Programmation impérative   Programmation orientée objet   Psion   Py2exe   PyGTK   PyPy   PyQt   Pygame   Python Software Foundation   Python Software Foundation License   QNX   Qt   RISC OS   Ramasse-miettes   Ruby   SPARC   Scheme   Smalltalk   Stackless Python   Surcharge des opérateurs   Symbian OS   Système de gestion d'exceptions   Table de hachage   Tableau associatif   Test unitaire   Tk (informatique)   Tkinter   Tool Command Language   Toolkit   Typage dynamique   Typage fort   Unicode   Virtual Memory System   VxWorks   WxPython   WxWidgets   Xbox   Z/OS  
#
Accident de Beaune   Amélie Mauresmo   Anisocytose   C3H6O   CA Paris   Carole Richert   Catherinettes   Chaleur massique   Championnat de Tunisie de football D2   Classement mondial des entreprises leader par secteur   Col du Bonhomme (Vosges)   De viris illustribus (Lhomond)   Dolcett   EGP  
^