# Le langage Python ## Qu'est-ce qu'un langage de programmation ? Les ordinateurs ne savent manipuler que des 0 et des 1. Par exemple, l'opération "ajouter le nombre placé à l'adresse 1576" pourrait s'écrire ainsi :

01010 11000101000

(ici 01010 voudrait dire "ajouter" et 11000101000 désignerait l'adresse 1576). L'écriture de programmes est alors très compliquée et entâchée d'erreurs. Afin de permettre aux humains de programmer plus facilement les machines, des langages de programmation ont été inventés : * ces langages, compréhensibles par des humains, sont utilisés pour écrire les programmes ; * un compilateur traduit ces programmes en instructions compréhensibles par la machine (série de 0 et de 1). Nous reviendrons plus tard sur l'histoire des langages de programmation. ## Origine de Python Python est un langage de programmation moderne imaginé par Guido Van Rossum en 1991. | ![Guido Van Rossum](https://upload.wikimedia.org/wikipedia/commons/thumb/e/e2/Guido-portrait-2014-drc.jpg/390px-Guido-portrait-2014-drc.jpg) --- | ---
## Avantages et inconvénients de Python Il a de nombreux avantages : * il est multi-plateforme (utilisable sous Linux, Windows, Mac OS, etc.) ; * c'est un [logiciel libre](https://fr.wikipedia.org/wiki/Licence_libre) : son code est ouvert à tous et il est possible de le modifier... ; * sa syntaxe est concise et relativement simple à apprendre ; par exemple voici un même programme, qui affiche les lettres d’un mot une à une, écrit dans 4 langages :
Pascal (1971) Java (1997) PHP (1994) Python (1991)
cont str = 'demo';
var i:int; len:int;
begin
  len:= length(str);
  for i:=0 to len do
  begin
    write(str[i]);
  end;
end;
String s = new String("demo");
for(int i = 0; i < s.length(); i++)
{
  char c = s.charAt(i);
  System.out.print(c);
}
$str = "demo";
$len = strlen($str);
for($i = 0; $i < $len;
  {
  echo $str[$i];
  }
s = "demo"
for c in s:
  print(c)
* il est extensible via de nombreuses bibliothèques (calcul scientifique, gestion de bases de données, graphisme, etc.) ; * il est très utilisé dans le monde de l'entreprise et de l'éducation (en particulier en Classe Préparatoire aux Grandes Ecoles) ; * c'est un langage interprété : pas besoin de compiler tout le programme source en code machine pour l'exécuter. L'interpréteur Python lit et exécute ligne après ligne un script codé en Python. Ce qui est un très gros avantage pour l'apprentissage d'un langage informatique car on peut tester progressivement des portions de code au cours du développement d'un programme plus complet. Un inconvénient : étant un langage interprété, l'exécution d'un programme écrit en Python est plus lente que dans le cas d'un langage compilé, comme le langage C.
Le nom "Python" fait référence à une célèbre troupe d'humoristes anglais : les Monty Python (un de leur sketch : [la leçon de latin](https://www.youtube.com/watch?v=p0oremW6dsc)). | ![Les Monty Python](https://upload.wikimedia.org/wikipedia/en/thumb/c/cb/Flyingcircus_2.jpg/275px-Flyingcircus_2.jpg) --- | --- ## De nos jours Python est un des langages les plus utilisés et les programmeurs en Python sont recherchés dans le monde du travail. ![Top 10 des meilleurs langages](https://www.developpez.com/public/images/news/ieee16-top10-1.PNG)
## A propos de ce cours Il est important que vous ayiez des bases solides en Python, c'est pourquoi nous allons reprendre et consolider toutes vos connaissances sur ce sujet depuis le début. ## Installation de Python Un ordinateur ne "parle pas" le langage Python au départ, il faut utiliser un logiciel, appelé [interpréteur Python](red) (ou *console* ou *shell*), qui n'est pas installé par défaut dans Windows. Nous pourrons alors parler à cet interprète en langage Python et il s'occupera de traduire nos demandes en langage machine. ![Console Python](https://www.w3resource.com/w3r_images/python-shell.png) En ce début d'année, nous n'installerons pas d'interpréteur Python sur nos ordinateurs mais en utiliserons un qui s'exécute dans un navigateur internet. Ceux qui le souhaitent peuvent aussi (installer et) utiliser l'interpréteur inclus dans le logiciel [Thonny](https://gitlab-fil.univ-lille.fr/diu-eil-lil/portail/-/tree/master/bloc1/thonny).
Voici quelques liens qui pourraient vous servir : * [Installer Python sur Windows](https://www.infoforall.fr/art/python/installer-python-sur-windows/) * [Installer Python sur Linux](https://www.infoforall.fr/art/python/installer-python-sur-linux/) * [Utiliser Python](https://www.infoforall.fr/art/python/utiliser-python/) * [Des liens utiles (cours, etc.)](https://www.infoforall.fr/art/python/les-liens/) Quelques sources utilisées ici : * [Interstices](https://interstices.info/naissance-des-langages-de-programmation/) * [Wikipédia](https://fr.wikipedia.org/wiki/Python_(langage)#Historique) * [Eric Madec](https://github.com/ericECmorlaix/mesBN/blob/master/ISN-Python3-Initiation.ipynb)