Formations
Articles
Communauté

La certification qualité a été délivrée pour la catégorie d'actions « Actions de formation ».
Les variables en Python
Une variable permet de stocker un objet en mémoire.
Il faut la voir un peu comme un sac à dos dans lequel vous rangez vos affaires.
sac_a_dos = ['stylo', 'cahier', 'gomme']
Vous pouvez ainsi y accéder quand vous le souhaitez sans avoir besoin de recréer à chaque fois l'objet auquel est associé la variable :
sac_a_dos = ['stylo', 'cahier', 'gomme']
print(sac_a_dos)
Vous pouvez redéfinir à n'importe quel moment une variable en y associant un nouvel objet :
sac_a_dos = ['stylo', 'cahier', 'gomme']
sac_a_dos = ['stylo', 'cahier', 'banane'] # pour le goûter
print(sac_a_dos)
Comment ça marche ?format_paragraph
En Python, on n'assigne pas vraiment de valeurs aux variables.
Au lieu de cela, Python donne la référence de l'objet (valeur) à la variable.
La variable devient alors un pointeur vers cette référence.
Pour illustrer ça, j'aime bien me le représenter avec le concept des prénoms :
Des milliers de personnes portent le même prénom. Toutes ces personnes sont différentes et pourtant on peut les appeler par le même prénom.
Par exemple :
prenom = 'Paul'
autre_prenom = prenom
print(prenom)
print(autre_prenom)
Quand j'exécute ce code, Python interprète l'instruction prenom = 'Paul'
, il
crée un nouvel objet avec la valeur 'Paul' et crée un lien entre la variable
prenom
et cet objet.
Sur la deuxième ligne, Python interprète autre_prenom = prenom
et vérifie
que cet objet n'existe pas déjà en mémoire. Comme c'est le cas, il ne va pas
le recréer. Il va juste créer un nouveau lien entre cette variable
autre_prenom
et l'objet dont la valeur est 'Paul'.
On peut utiliser la fonction id
pour vérifier l'identifiant de l'espace
mémoire dans lequel se trouve un objet associé à une variable :
prenom = 'Paul'
autre_prenom = prenom
# La fonction id retourne 2 pour les deux variables.
# Nous accédons donc au même objet (la chaîne de caractères 'Paul') avec deux variables différentes
print(id(prenom)) # 2
print(id(autre_prenom)) # 2
# Si on associe deux variables à deux objets différents, les id seront différents :
prenom = 'Patrick'
autre_prenom = 'Pierre'
# Les id sont différents, car nous accédons à deux objets différents, avec deux noms différents :
print(id(prenom)) # 3
print(id(autre_prenom)) # 4
La portée des variablesformat_paragraph
En Python, comme dans beaucoup d'autres langages, chaque variable est accessible dans un périmètre précis. On parle de scope en anglais.
Une variable définie à l'intérieur d'une fonction (dans l'espace local de la fonction) ne sera pas disponible à l'extérieur.
Par exemple :
def hello_paul():
prenom = 'Paul'
print('Hello {}'.format(prenom))
print(prenom)
À l'inverse une variable définie dans l'espace global (à l'extérieur de la fonction) sera disponible à l'intérieur de celle-ci :
prenom = 'Paul'
def hello_paul():
print('Hello {}'.format(prenom))
hello_paul()
Assigner une valeur à une variableformat_paragraph
Comme vous l'avez vu, on utilise le symbole égal =
pour assigner une valeur
à une variable :
prenom = 'Paul'
age = 24
homme = True
Python est un langage dynamique, nous n'avons pas besoin de lui dire qu'un nombre est un nombre ou qu'une chaîne de caractères est une chaîne de caractères.
Les assignations multiples
Comme je te l'ai dit, Python n'assigne pas vraiment de valeurs aux variables, il crée des liens entre des noms et des objets.
De ce fait, on peut lier plusieurs variables au même objet de cette manière :
a = b = c = 750
id(a) # 4426172464
id(b) # 4426172464
id(c) # 4426172464
Les assignations parallèles
On peut aussi demander à Python d'assigner plusieurs variables à plusieurs objets différents de cette façon (voir l'unpacking) :
a, b, c = 1, 2, 3
print(a)
print(b)
print(c)
Cela revient au même que de faire :
a = 1
b = 2
c = 3
Ça vous fait économiser quelques lignes.
Les constantesformat_paragraph
En théorie, une constante est un type de variable qu'on ne peut pas modifier.
Avec Python, on les déclare toujours en majuscule :
PI = 3.14
PRIMARY_COLOR = "#FF00FF"
Cependant, avec Python, les constantes n'en sont pas vraiment car on peut leur assigner des valeurs différentes à n'importe quel moment !
C'est plus une convention que respectent les développeurs Python et qui permet de séparer visuellement les variables destinées à être modifiées de celles qui ne le sont pas.
Concaténer des variablesformat_paragraph
Pour concaténer des variables, on utilise l'opérateur d'addition (+
) :
prenom = 'Paul'
nom = 'Sims'
print(prenom + ' ' + nom)
En plus d'être un langage dynamique , Python est aussi un langage fortement typé.
Cela signifie que vous ne pouvez pas mélanger des chaînes de caractères avec des nombres ou d'autres types et vice-versa.
Si vous écrivez :
prenom = 'Paul'
age = 24
print(prenom + age)
Vous obtiendrez une erreur TypeError
(erreur de type).
Dans ce cas-là vous devez convertir le type de votre variable pour pouvoir la concaténer.
En l'occurrence, on peut convertir le nombre 24
en chaîne de caractères
'24'
grâce à la fonction str()
prenom = 'Paul'
age = 24
print(prenom + ' ' + str(age))