Variables et expressions¶
Les données qu’un ordinateur manipule se trouvent dans sa mémoire. On peux s’imaginer la mémoire comme un grand espace divisé en octets. Chaque octet a une adresse numérique, souvent exprimé avec un nombre hexadécimale.
Par exemple la valeur 26
(ou 0x1A
en format hexadécimal) pourrait se trouver à l’adresse 0x1200A
.
Pour ne pas avoir besoin de gérer l’adresse exacte en mémoire, Python utilise le concept de variable. Une variable est une étiquette qui permet de réserver un espace mémoire pour stocker une donnée.
Une variable permet de
sauvegarder une valeur dans la mémoire
lire cette valeur depuis la mémoire
utiliser cette valeur dans une expression
On peut notamment stocker dans des variables:
des nombres
des chaînes de caractères
des valeurs booléennes (
True
ouFalse
)
Affectation¶
On appelle affectation l’action d’associer une valeur à une variable.
La forme générale d’une affectation est var = valeur
.
le nom de la variable se trouve à gauche (
var
)le symbole d’affectation (
=
) se trouve ou milieula valeur à affecter à la variable se trouve à droite (
valeur
)
Dans l’exemple suivant nous affectons trois valeurs aux variables a
, b
et c
.
Ensuite nous pouvons afficher ces variables avec la fonction print()
.
Par la suite, nous pouvons utiliser la variable a
dans une expression arithmétique.
À n’importe quel moment, la variable peut être réaffectée, et donc changer de valeur.
Affectation multiple¶
Python permet d’affecter plusieurs variables sur une même ligne.
L’affectation multiple est une manière élégante d’échanger les valeurs de deux variables.
Fonction input()¶
La fonction input()
permet de demander une valeur d’entrée (input) lorsque le programme est en cours d’exécution. Cela permet d’écrire des programmes qui utiliseront des valeurs qui sont encore potentiellement inconnues lors de l’écriture du programme.
L’instruction input('explication')
affiche le texte explication
dans la console. A ce moment l’exécution du programme est interrompue et le programme attend à ce que vous entrez une valeur et confirmez avec la touche Enter
.
Dès que vous appuyez sur la touche Enter
, la valeur que vous avez entrée, est alors retourné par la fonction input()
.
Normalement cette valeur est affectée à une variable.
Voici un exemple de code pour vous saluer personnellement.
Valeur et expression¶
Une valeur est une quantité élémentaire qui ne peut pas être évaluée vers une forme plus simple.
Voici des exemples de valeurs:
un nombre entier:
123
un nombre à virgule flottante:
1.23
une chaine de caractères:
'hello'
Une expression est une valeur, une variable ou la combinaison de valeurs et variables avec des opérateurs mathématiques. Par exemple
une variable:
a
une variable et une valeur lié par un opérateur:
a + 4
plusieurs valeurs liés par des opérateurs:
(1 + 2) * (3 + 4)
La dernière expression contient deux sous-expressions entre parenthèses.
Elles sont évaluées d’abord et donnent l’expression simplifiée 3 * 7
qui est de nouveau évaluée et qui donne 21
comme résultat final.
Types¶
Les données que Python peut manipuler sont de type différents. Selon leur type, les données occupent un nombre d’octets différent dans la mémoire de l’ordinateur:
un nombre entier (integer) occupe 4 octets
un nombre à virgule flottante (double) occupe 8 octets
une chaine de caractères (string) occupe un espace mémoire variable (1 octet/caractère)
Les opérations possibles sont différentes aussi. Par exemple nous pouvons multiplier deux nombres mais nous ne pouvons pas multiplier deux chaines de caractères.
La fonction type()
nous retourne le type de la valeur donnée comme argument.
L’expression 123
est de type int
(integer = entier) tandis que la même expression entre guillemets '123'
devient une chaîne de caractères de type str
(string = chaine).
Les objets 123
et '123'
sont traités de façon différente dans une expression:
Nom d’une variable¶
Le nom d’une variable est sensible à la casse (minuscule ou majuscule). Ainsi, a
et A
sont deux variables différentes.
Le nom d’une variable peut être composé de
lettres (minuscules et majuscules)
tiret bas
_
chiffres (sauf pour le premier caractère)
Sont interdits:
les espaces
les mots-clés (
if
,else
, …)tout autre caractère spécial (
* + % & $ - / ?
)
Ces noms de variables sont donc valides: a2
, _a
, speed
, pos_x
, POS_X
Ceux-ci ne sont pas valides:
2var
(commence avec un chiffre)if
(correspond à un mot-clé)var$2
(contient un caractère spécial)mon nom
(contient une espace et est interprété comme deux noms de variables)
Exercices¶
Faites ces exercices dans l’éditeur de script, et non pas dans la console.
Exercice 1 - affectation¶
Sans utiliser l’ordinateur, déterminez ce qui va être affiché par les 5 instructions print
dans ce programme.
a = 23
b = "hello"
c = 2
print(a + 5)
print(a - 1)
a = a + c
print(a)
c = c + a
print(c)
print(b + a)
Exercice 2 - input()¶
Faites un programme qui demande le prénom de l’utilisateur et qui affiche la phrase suivante:
Bonjour, _prénom_, avez-vous passé une bonne journée ?
Exercice 3 - cylindre¶
Faites un programme qui demande à l’utilisateur la hauteur et le diamètre d’un cylindre et retourne le volume du cylindre avec une phrase complète.
Exercice 4 - jeu¶
Le cadavre exquis est un jeu graphique ou d’écriture collectif inventé par les surréalistes, en particulier Jacques Prévert et Yves Tanguy, vers 1925.
Définition: jeu qui consiste à faire composer une phrase, ou un dessin, par plusieurs personnes sans qu’aucune d’elles ne puisse tenir compte de la collaboration ou des collaborations précédentes.
Faites un programme qui permet de faire un jeu d’écriture collectif (cadavre exquis).
Le premier utilisateur doit proposer un sujet
le deuxième, un verbe
le troisième, un complément d’objet direct (COD)
le quatrième, un complément d’objet indirect (COI)
le dernier, un groupe permutable