Premiers pas
Ce chapitre a pour but d'introduire les éléments incontournables qui constituent un script Python : des variables, des instructions, des tests et des boucles.
Variables et types
La variable est un mécanisme permettant de stocker en mémoire des valeurs. Une variable est caractérisée par un nom choisi par le concepteur du script (je vous encourage à utiliser des noms explicites afin de faciliter la compréhension de votre code) et par son type qui renseigne sur sa nature. Le tableau ci-dessous recense les types simples les plus usuels :
Type | Description |
---|---|
bool |
Booléen : valeur binaire vraie (True ) ou fausse (False ) |
int |
Entier relatif |
float |
Nombre décimal |
str |
Chaîne de caractères délimitée par des apostrophes ou des guillemets |
# -------------------------
# Mon premier script Python
# essai.py
# -------------------------
# Variable de type bool (boolean)
stop = False
start = True
# Variable de type int (integer)
maxDistance = 42
# Variable de type float (floating point value)
diameter = 15.673
# Variable de type srt (string)
message = 'Hello World!'
Python est un langage à typage dynamique, c'est à dire que vous n'avez pas à préciser le type d'une variable. Celui-ci est déterminé dynamiquement en fonction de la valeur qui lui est affectée.
Instructions élémentaires
Maintenant que nous avons clarifié la notion de variable, nous allons nous intéresser aux opérations que nous pouvons effectuer sur celles-ci.
Opérations sur les variables booléennes (bool
)
Ce tableau recense les opérateurs les plus usuels qui s'appliquent à des variables binaires.
Opérateur | Description |
---|---|
or |
OU logique |
and |
ET logique |
not |
NON logique |
Le code Python ci-dessous illustre l'utilisation de ces opérateurs dans l'interprète en ligne de commande.
print(True and False) # False
print(not(True and False)) # True
Opérations sur les types numériques (int
et float
)
Ce tableau recense les opérateurs les plus usuels qui s'appliquent à des variables de type numérique.
Opérateur | Description |
---|---|
+ |
Addition |
* |
Multiplication |
** |
Élévation à la puissance |
/ |
Division |
// |
Quotient de la division euclidienne |
% |
Reste de la division euclidienne |
print(2+3) # 5
print(2*3) # 6
print(2**3) # 8
print(10/3) # 3.3333333333333335
print(10//3) # 3
print(10%3) # 1
On peut aussi comparer deux variables grâce aux opérateurs suivants :
Opérateur | Description |
---|---|
== |
Égal |
!= |
Différent |
> |
Strictement supérieur |
>= |
Supérieur ou égal |
< |
Strictement inférieur |
<= |
Inférieur ou égal |
Opérations sur les chaines de caractères (str
)
Il existe des opérateurs spécifiques aux chaînes de caractères.
Opérateur | Description |
---|---|
+ |
Concaténation |
[] |
Extraction de caractères |
begin = 'Hello'
end = 'World!'
message = begin + ' ' + end
print(message) # Hello World!
print(message[0]) # H
print(message[6:11]) # World
exp = 4
base = 2.4
result = str(base) + ' puissance ' + str(exp) + ' vaut ' + str(base**exp)
print(result) # 2.4 puissance 4 vaut 33.1776
Listes
Il s'agit d'une structure de données permettant de stocker plusieurs valeurs dans une seule variable. Chaque valeur dans la liste est repérée par son indice, sachant que la première case a pour indice 0.
data = [ 0.9, 1.6, 2.8 ]
┌─────┬─────┬─────┐ value │ 0.9 │ 1.6 │ 2.8 │ └─────┴─────┴─────┘ 0 1 2
Ainsi, pour accéder à la valeur centrale de la liste,
il suffit d'écrire value[1]
.
# Création d'une liste
cadeau = [ 'cravate', 'chocolats' ]
# Ajout d'un élément à la fin
cadeau.append('Python pour les Nuls')
print(cadeau) # ['cravate', 'chocolats', 'Python pour les Nuls']
# Taille de la liste
taille = len(cadeau) # 3
# Affichage du dernier élément de la liste
print(cadeau[-1]) # Python pour les Nuls
Tests et conditions
Au delà des instructions, il est parfois nécessaire de modifier le déroulement du
script en fonction d'une condition à l'image d'un aiguillage. L'instruction if
joue ce rôle en Python lorsqu'elle est suivie d'une condition booléenne vraie (True
)
ou fausse (False
).
Lorsque la condition est vraie, l'interprète exécute les instructions situées directement sous
la clause if
. Par contre, si la condition est fausse, l'interprète exécute les
instructions situées sous la clause else
.
if hour<18:
print('Bonjour')
else:
print('Bonsoir')
Boucles
L'automatisation de tâches au sein d'un script se traduit en général par la répétition d'un jeu
d'instructions sur des valeurs différentes. Cette notion de répétition se traduit en Python à l'aide
de la clause for
ou la clause while
.
Boucle for
Elle consiste à définir une variable, appelée compteur de boucle, qui parcourt une plage de valeurs.
print('Table des 5 :')
# La variable i aura pour valeur 1, 2, 3, ..., 10
for i in range(1,11):
print(5*i)
Boucle while
Elle consiste à évaluer une condition à chaque tour de boucle : tant que la condition
est vraie, le script exécute les instructions à l'intérieur de la boucle. L'exemple précédent
peut se traduire de la façon suivante à la clause while
.
print('Table des 5 :')
# Initialisation de la variable i
i = 1
while i < 11: # Evaluation de la condition
print(5*i)
# Mise à jour de la variable i
i = i + 1
Alors que la boucle for
se limite à parcourir une plage de valeurs connues,
la boucle while
est adaptée à des situations où l'on ne connait pas à l'avance
le nombre de répétitions.
answer = 'non'
while answer != 'oui':
answer = input('Ça va ? ')
print('Bonne nouvelle !')
Ce script produit le résultat suivant.
Ça va ? non
Ça va ? bof
Ça va ? oui
Bonne nouvelle !
Clause break
Elle permet de quitter une boucle même si celle-ci n'est pas terminée. Par exemple, si on veut afficher la table des 5 en s'arrêtant dès que le résultat dépasse 30.
print('Table des 5 :')
# La variable i aura pour valeur 1, 2, 3, ..., 10
for i in range(1,11):
if (5*i) > 30:
break
print(5*i)
Et avec une boucle while
print('Table des 5 :')
# Initialisation de la variable i
i = 1
while i < 11: # Evaluation de la condition
if (5*i) > 30:
break
print(5*i)
# Mise à jour de la variable i
i = i + 1
En conclusion, vous disposez à l'issue de ce chapitre d'un kit de survie pour Python qui vous permet de vous atteler aux exemples qui vont constituer le fil conducteur de ce cours. Et vous allez pouvoir mettre en pratique vos premières connaissances avec quelques petits exercices de difficulté croissante.