Python/L'interpréteur
Une page de Wikiversité.
En raison de limitations techniques, la typographie souhaitable du titre, « Python : L'interpréteur
Python/L'interpréteur », n'a pu être restituée correctement ci-dessus.
Sommaire |
[modifier] Installation
Télécharger les sources depuis le site officiel.
[modifier] Sous Windows
Après l'installation, il y a 2 façons de lancer l'application :
- Sous DOS, il est possible d'enregistrer le chemin d'accès à python dans les variables d'environnement pour écrire directement "python", au lieu de par exemple "C:\Python26\python".
- Installer Cygwin et taper "python" dans le terminal Unix.
[modifier] Sous Macintosh
Python 2.3 est déjà installé depuis OS X 10.4 Tiger.
[modifier] Sous Linux
- Python est déjà installé depuis Ubuntu 6.04.
- Si vous avez téléchargé la dernière version avec un navigateur, il faut lancer : configurer ("./configure") puis construire ("make").
- Pour installer la dernière version dans Linux :
$ sudo apt-get update # Mise à jour des dépôts $ sudo apt-get install python # Installation
Attention ensuite à accorder les bons droits d'écriture sur les scripts Python (.py) :
$ sudo chmod +x myscript.py
[modifier] Version installée
La version de l'interpréteur est visible au lancement :
>>> Python $ python ActivePython 2.6.1.1 (ActiveState Software Inc.) based on Python 2.6.1 (r261:67515, Dec 5 2008, 13:58:38) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information.
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.
Pour exécuter un programme Python, lancer le fichier "nom_du_programme.py". Pour faire apparaître le résultat dans la fenêtre de l'invite de commande, taper sous Unix ou DOS : python nom_du_programme.py.
[modifier] Les commandes de base
[modifier] Print()
Affiche du texte :
>>> print "Bonjour le monde !" Bonjour le monde ! >>> print ("texte à répéter, " * 3) texte à répéter, texte à répéter, texte à répéter,
- Attention : il existe des caractères spéciaux qui ne seront pas affichés :
- \r : aller en début de ligne.
- \n : aller à la ligne (retour chariot).
>>> print("Bonjour \n tout le monde !") Bonjour tout le monde !
[modifier] Len()
Renvoie la longueur du paramètre :
>>> len("texte à mesurer") 15 >>>
[modifier] 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 :
>>> (4+3)*6 42
Cependant les opérateurs suivants ont des sens bien spécifiques :
| Opérateur | Rôle | Méthode équivalente |
|---|---|---|
| # (dièse) | Introduction d'un commentaire | |
| "" (guillemets) ou '' (apostrophes) | Encadrement du texte | |
| + (plus) | Addition, et concaténation 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() |
| | (accent circonflexe) | Bit à bit "ou" | or() |
| ^ (accent circonflexe) | Bit à bit "ou exclusif" | xor() |
| ~ (et commercial) | Bit à bit "inversion" | invert() |
- L'interpréteur respecte la casse.
- Les espaces (indentation) sont interprétés comme l'inclusion des bloques entre eux. Sauter une ligne fait sortir de ces bloques. Cependant, hormis ces cas l'interpréteur n'est pas sensible à la présence d'espace après le dans le code :
>>> 9/3 3 >>> 9 / 3 # les espaces ne sont pas pris en compte 3 >>> print "Bonjour le monde!" Bonjour le monde ! >>> print"Bonjour le monde!" Bonjour le monde ! >>> x="Bonjour le monde !" >>> print x Bonjour le monde ! >>> printx Traceback (most recent call last): File "<interactive input>", line 1, in <module> NameError: name 'printx' is not defined
- 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.
>>> def f(x): # Déclaration d'une fonction … print 9*x+5 … >>> f(8) 77
[modifier] Help()
Elle permet d'accéder au manuel des commandes Python, ex :
>>> help("dir")
Help on built-in function dir in module __builtin__:
dir(...)
dir([object]) -> list of strings
If called without an argument, return the names in the current scope.
Else, return an alphabetized list of names comprising (some of) the attributes
of the given object, and of attributes reachable from it.
If the object supplies a method named __dir__, it will be used; otherwise
the default dir() logic is used and returns:
for a module object: the module's attributes.
for a class object: its attributes, and recursively the attributes
of its bases.
for any other object: its attributes, its class's attributes, and
recursively the attributes of its class's base classes.
>>>
Exemple pour trouver tous les opérateurs et méthodes disponibles avec les nombres décimaux :
>>> help(1.5) Help on float object: class float(object) | float(x) -> floating point number | | Convert a string or number to a floating point number, if possible. | | Methods defined here: | | __abs__(...) | x.__abs__() <==> abs(x) | | __add__(...) | x.__add__(y) <==> x+y ...
[modifier] Dir()
Affiche les méthodes utilisables avec l'objet en argument :
>>> dir("textes")
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__
format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__get
slice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mo
d__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
'__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook
__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center',
'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index
', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper',
'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', '
rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', '
strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
On peut donc exécuter toutes ces méthodes avec un texte, ex :
>>> "textes".capitalize() # Met la première lettre en majuscule 'Textes' >>>