# Python/L'interpréteur

Il existe deux manières de coder en Python. La première, la plus classique pour ceux qui ont déjà travaillé avec d'autres langages de programmation, est d'écrire des fichiers de code source (dont l'extension est .py), puis d'exécuter ces fichiers, à la manière du Perl. La seconde, qui est abordée dans ce cours, est d’utiliser l'interpréteur.

## Pré-requis

Il faut tout d’abord vérifier que Python est installé sur votre machine, et l'installer dans le cas contraire.

### Sur Macintosh

Python 2.3 est pré-installé depuis Mac OS X 10.3 Panther. Pour bénéficier des nouveautés du langage, il est nécessaire de mettre à jour Python. Pour cela, il faut se rendre sur la page de téléchargements de Python et télécharger l'exécutable Mac. L'assistant d'installation s'occupera du reste.
Python 3 peut être installé de trois manières :
* Utiliser un gestionnaire de paquet pour Mac OS X, comme Homebrew.
* Compiler à partir des sources.
* Télécharger l'installateur sur la page de téléchargements de Python.

### Sur Linux

Python est généralement pré-installé sur les distributions grand public. Pour vérifier que Python est bien installé, il suffit de lancer dans un terminal :
Cette commande vous donnera le numéro de version du Python installé, ou une erreur s'il n’est pas installé.
Dans une distribution basée sur Debian comme Ubuntu, il suffit d'installer les paquets avec le gestionnaire de paquets apt :
Si votre distribution ne possède pas de paquets Python, ou si vous désirez effectuer des tests avec une version particulière, il est possible de télécharger Python depuis ses sources. Pour cela, il suffit de se rendre sur https://www.python.org/downloads/source/, puis de suivre les instructions.

### Sur Windows

Sur Windows, il est nécessaire de télécharger un installeur, comme sur Mac. Rendez-vous sur https://www.python.org/downloads/windows/ pour le trouver.
Si vous n'avez pas les droits administrateurs de votre machine, il existe aussi une version portable.

## L'interpréteur

La version de l'interpréteur est visible au lancement :
En Python 2
En Python 3, sous windows
Depuis cette invite de commande, il est possible d'exécuter n’importe quelle instruction Python en tapant cette instruction et en validant grâce à la touche "Entrée" d’un clavier d'ordinateur standard. C’est cet interpréteur qui va être utilisé dans la suite de ce cours.
Dans l’introduction était mentionné la possibilité d'interpréter un code source Python, car des contraintes évidentes de réutilisation du code apparaissent. Pour ce faire, il suffit d'entrer dans une console Unix ou DOS : python nom_du_programme.py.
Lors de l'exécution d’un programme Python, la machine virtuelle tentera d'opérer à des optimisations en produisant du byte-code dans un fichier d'extension .pyc pour chaque fichier d'extension .py.

## Les commandes de base
### print

Affiche du texte :
    Attention : il existe des caractères spéciaux qui ne seront pas affichés :
* \t : tabulation ;
* \n : saut à la ligne (retour chariot) ;

### len

Renvoie la longueur du paramètre :

### Les opérateurs

L'interpréteur peut effectuer des actions ne nécessitant pas de mots spécifiques au langage Python, comme de simples opérations mathématiques :
Cependant les opérateurs suivants ont des sens bien spécifiques :
| Opérateur | Rôle | Méthode équivalente |
| # (croisillon) | Introduction d’un commentaire | |
| "" (guillemets) ou '' (apostrophes) | Encadrement du texte | |
| + (plus) | Addition, et concaténation de chaînes de caractères | add, et concat |
| - (moins) | Négation, soustraction | neg, sub |
| * (étoile) | Multiplication de chiffres, ou wildcard des caractères | mul |
| / (barre oblique), et // | Division de chiffres | div, truediv, et floordiv |
| < | Inférieur à | lt |
| > | Supérieur à | gt |
| <= | Inférieur ou égal à | le |
| >= | Supérieur ou égal à | ge |
| = (égal) | Définition de variable(s) | |
| == | Égal à | eq |
| !=, ou <> (chevrons) | Différent de | ne |
| (parenthèses) | Appel d’une fonction ou méthode | call |
| (crochets) | Accès à une liste indexée | getitem, getslice |
| , (virgule) | Séparation de paramètres | |
| . (point) | Virgule décimale, ou séparation des paramètres avec leur méthode | |
| ** (étoiles) | Puissance (ou exposant) | pow |
| % | Modulo | mod |
| += | Incrémentation | |
| -= | Décrémentation | |
| << | Modification de gauche | lshift |
| >> | Modification de droite | rshift |
| & (et commercial) | Bit à bit "et" | and |
| | (barre verticale) | Bit à bit "ou" | or |
| ^ (accent circonflexe) | Bit à bit "ou exclusif" | xor |
| ~ (tilde) | Bit à bit "inversion" | invert |
    L'interpréteur respecte la casse.
    Les espaces (indentation) en début de ligne sont interprétés comme l'inclusion des blocs entre eux. Sauter une ligne fait sortir ces blocs. Cependant, hormis ces cas l'interpréteur n’est pas sensible à la présence d'espace dans le code :
    L'interpréteur exécute les instructions en temps réel, dès qu’elles sont validées par l'utilisateur. Ainsi, il n’est pas possible d'exécuter plusieurs blocs d'instructions en une seule fois.

### help

Elle permet d'accéder au manuel des commandes Python, ex :
Exemple pour trouver tous les opérateurs et méthodes disponibles avec les nombres décimaux :

### dir

Affiche les méthodes utilisables avec l’objet en argument :
On peut donc exécuter toutes ces méthodes avec un texte, ex :
| Sommaire | Les types de base |