Les expressions.
En Python, il est aussi possible d'utiliser
des expressions comme instructions. Comme le résultat ne sera pas
sauvé, cela n'a donc de sens que si l'expression a des effets de
bord utiles. Les expressions regroupent entre autre les appels de fonctions
et de méthodes.
Test
If.
Le test par "if" est le premier outil de
sélection en Python. Le test "if" avec ses autres blocs permettent
de choisir une partie du code à effectuer parmi d'autres. Le choix
se fait par une opération logique.
Format
général.
L'instruction "if" en Python peut comporter
plusieurs tests conditionnels "elif", et se termine par un bloc optionnel
"else". Le bloc qui sera exécuté sera le premier dont la
condition est vraie, sinon le else, qui ne comporte aucune condition, sera
exécuté. Le code suivant les instructions if, elif, else
doit être indenté, et doit être présent !
forme de base.
if <test1>:
<instructions>
elif <test2>:
<instructions>
elif <test3>:
<instructions>
.....
else:
<instructions>
Boucles
while.
L'instruction Python "while" est la construction
d'itération la plus générale. "while" exécute
de manière répétitive le bloc indenté tant
que le test de condition est réalisé. Si la condition est
d'emblée fausse le bloc ne sera jamais exécuté.
"while" consiste en une ligne d'en-tête
avec une expression de test, suivie d'un bloc de plusieurs instructions.
Il peut y avoir une partie "else" optionnelle, qui est exécutée
si le contrôle sort de la boucle sans utilisation de l'instruction
break.
while <test> :
<instructions>
else :
<instructions>
break,
continue, pass et le else de boucle !
Il est important de voir ces instructions
en même temps que les boucles. Ces trois instructions, "pass", "break",
et "continue", servent à gérer la continuité d'une
boucle suivant les actions qui se passent à l'intérieur.
Boucle
for.
La boucle "for" est la séquence d'itération en Python, elle permet de traverser les éléments de tout objets qui répond aux opérations d'indiçage de séquence.
for <cible> in <objet> :
<instructions>
else :
<instructions>
La boucle "for" en Python fonctionne différemment qu'en C, elle affecte les objets de l'élément séquence à la cible un par un. A chaque affectation elle exécute le corps de la boucle. "for" quitte la boucle une fois que tous les éléments de l'élément séquence ont été parcourus, techniquement qu'une exception déclenchée par un indice hors-limite soit levée. "for" génère automatiquement l'indiçage de séquence.
Comme "while", "for" comprend, les instructions
"pass", "break", "continue" et le bloc optionnel "else", qui sera exécuté
si la boucle est quittée normalement (tous les éléments
visités).
Boucles
à compteurs et intervalles.
La boucle "for" englobe la plupart des boucles
à compteurs et c'est donc le premier outil pour traverser une séquence.
Avec les boucles à compteurs d'intervalles il est possible de créer
des séquences afin de pouvoir spécialiser l'indiçage
de "for" !
range().
L'instruction range retourne une liste d'entiers croissants successifs qui peuvent être utilisés comme index.
"Range" peut avoir de un à trois arguments.
Si il n'y a qu'un argument il représente le nombre d'éléments de la liste partant depuis zéro et indicé de un. Si "range" est appelé avec deux arguments, il s'agit de la borne de départ de la liste et celle d'arrivée. Chaque élément de la liste sera une valeur incrémentée de un, entre la borne de départ et celle d'arrivée (non comprise). Quand "range" comportent trois arguments il s'agit de la borne de départ de la liste, celle d'arrivée et le pas d'incrémentation.
>>> x = range(10)
>>> x
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> y = range(10,20)
>>> y
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>> z = range(10,20,3)
>>> z
[10, 13, 16, 19]
xrange().
"xrange" fonctionne comme "range", mais il
permet de calculer au fur et à mesure. Ce qui à pour but
de prendre moins de place mémoire lors de la création d'une
grande séquence ! En plus les valeurs sont stockées dans
un tuple et non dans une liste.
>>> x = xrange(10)
>>> x
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> y = xrange(10,20)
>>> y
(10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
>>> z = xrange(10,20,3)
>>> z
(10, 13, 16, 19)