Programmation Python/Structure d'un programme
Un livre de Wikibooks.
La structure d'un programme Python est certainement ce qui étonne le plus le programmeur ayant l'habitude d'un langage plus traditionnel comme le C. L'absence de point-virgule (;) et surtout l'absence d'accolade ({}) sont en effet déroutantes à première vue.
[modifier] Les instructions
Un programme Python est composé d'instructions. Une instruction est un ordre unitaire donné à un programme. Par exemple afficher Bonjour est une instruction, de même que calculer un plus un.
Les instructions sont séparées dans le programme, soit par un point-virgule (;), soit par un retour à la ligne.
L'interpréteur Python commence par analyser la première ligne :
- si celle-ci contient une instruction, alors il l'exécute
- si l'instruction n'est pas une instruction de contrôle, alors, il passe à la ligne suivante, l'analyse et l'exécute
- si le programme Python arrive à la fin du fichier à exécuter, alors, il sort du programme et en arrête l'exécution.
print "Bonjour"
1+1
c = 3e5
e = m*c**2
a, b, c = 1, 2, 3
discriminant = b**2-4*a*c
lambda x,y : x + y
dico1 = {'prénom':'Eric', 'nom':'tartempion'}
print ("Bonjour %s" % dico1['nom'])
|
| Exemple 1 : quelques instructions |
[modifier] Les commentaires
Une ligne commençant par un dièse (#) n'est pas prise en compte par l'interpréteur. De même pour tous les caractères qui sont mis à la suite d'un dièse. Cette dernière règle ne s'applique pas lorsque le dièse est positionné dans une chaîne de caractères.
#Toute cette ligne est un commentaire. print "Bonjour le monde" #Ceci est également un commentaire print "Bonjour"; print "Le monde"; #Ceci est une ligne comportant #plusieurs instructions print "Cette ligne ne contient pas de #commentaire" |
| Exemple 1 : On notera que la fonction print affiche son argument. |
[modifier] Notion de bloc d'instructions
Un bloc d'instructions est une suite d'instructions qui est alignée sur la même tabulation. Les blocs d'instructions sont crées par les instructions de contrôles comme if, while et for, ainsi que par les instructions permettant de déclarer des fonctions.
#Ce bloc d'instruction est collé contre le bord gauche du fichier
print "Je suis dans le premier bloc"
print "Je suis toujours dans le premier bloc"
if (a == 12) : #L'instruction ''if'' initie un nouveau bloc
#Ce bloc est a quatre espace du bord
print "Je suis dans le second bloc"
print "Je suis encore dans le second bloc"
if (b == 13 ) :
#Il est possible d'imbriquer des blocs dans des blocs
print "Je suis dans un troisième bloc"
print "et ici aussi"
print "Je reviens dans le second bloc"
print "Je suis revenue dans le premier bloc"
|
| Exemple 2 : Les blocs |
Il est très important de noter que les blocs doivent être tracés au cordeau. C'est à dire que si j'initie mon bloc avec huit espaces avant la première instruction, je dois toujours mettre huit espaces devant chacune des instructions de ce bloc. Il n'est pas possible de mélanger des tabulations et des espaces. Si deux lignes semblent se trouver à la même distance du bord gauche, mais que l'une contient des espaces et l'autre des tabulations, alors l'interpréteur pourra générer l'erreur suivante :
IndentationError: unindent does not match any outer indentation level
Pour éviter ce genre d'écueil, il convient de toujours utiliser le même type d'indentation. Vous pouvez, par exemple, utiliser la touche tabulation et configurer votre éditeur pour qu'il remplace la tabulation par des espaces, ou utiliser de vraies tabulations. La première méthode est notamment la convention utilisée pour la librairie standard de Python, la seconde ayant l'avantage de fonctionner avec tous les éditeurs (et ainsi, de pouvoir être plusieurs sur le même projet avec des éditeurs différents).
<< Page précédente: Base du langage | Sommaire général | Page suivante: Variable >>

