Les instructions.
 
Dans cette partie nous allons voir les instructions de base. Si le but de programmer est de faire des "choses" avec des "trucs" afin de sortir des "machins", alors les instructions sont les "choses" qui décrivent la procédure à effectuer pour sortir les "machins".

 

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.
 

             La boucle "else" exécute le bloc si la boucle se termine normalement. L'instruction "break" annule le passage dans la boucle "else".

 
 

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" fonctionne sur les chaînes, les listes, les tuples et d'autres objets issus de classes.
La boucle "for" commence par une ligne d'en-tête qui spécifie une cible d'affectation, ainsi qu'un objet qui sera itérer.

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)