Skip to content

En Python, l’opérateur = est utilisé pour attribuer des valeurs aux variables.

a = 100 b = 200 print(a) # 100 print(b) # 200 

Vous pouvez attribuer des valeurs à plusieurs variables sur une seule ligne.

Affecter plusieurs valeurs à plusieurs variables

Vous pouvez attribuer plusieurs valeurs à plusieurs variables en les séparant par des virgules , .

a, b = 100, 200 print(a) # 100 print(b) # 200 

Vous pouvez attribuer des valeurs à plus de trois variables, et il est également possible d’attribuer des valeurs de différents types de données à ces variables.

a, b, c = 0.1, 100, 'string' print(a) # 0.1 print(b) # 100 print(c) # string 

Lorsqu’une seule variable se trouve sur le côté gauche, les valeurs du côté droit sont attribuées sous forme de tuple à cette variable.

a = 100, 200 print(a) print(type(a)) # (100, 200) # <class 'tuple'> 

Si le nombre de variables à gauche ne correspond pas au nombre de valeurs à droite, une erreur V𝐚‌𝐥‌𝐮‌𝐞‌E𝐫‌𝐫‌𝐨‌𝐫‌ se produit. Vous pouvez affecter les valeurs restantes sous forme de liste en préfixant le nom de la variable avec * .

# a, b = 100, 200, 300 # ValueError: too many values to unpack (expected 2) # a, b, c = 100, 200 # ValueError: not enough values to unpack (expected 3, got 2) 

a, *b = 100, 200, 300 print(a) print(type(a)) # 100 # <class 'int'> print(b) print(type(b)) # [200, 300] # <class 'list'> 

*a, b = 100, 200, 300 print(a) print(type(a)) # [100, 200] # <class 'list'> print(b) print(type(b)) # 300 # <class 'int'> 

Pour plus d’informations sur l’utilisation de * et l’attribution d’éléments d’un tuple et d’une liste à plusieurs variables, consultez l’article suivant.

Vous pouvez également partager les valeurs de plusieurs variables de la même manière. Consultez l’article suivant pour plus de détails :

Attribuer la même valeur à plusieurs variables

Vous pouvez attribuer la même valeur à plusieurs variables en utilisant = successivement.

Par exemple, cela est utile lors de l’initialisation de plusieurs variables avec la même valeur.

a = b = 100 print(a) # 100 print(b) # 100 

Après avoir attribué la même valeur, vous pouvez attribuer une valeur différente à l’une de ces variables. Comme décrit plus loin, soyez prudent lorsque vous attribuez des objets mutables tels que 𝐥‌𝐢‌𝐬‌𝐭‌ et 𝐝‌𝐢‌𝐜‌𝐭‌ .

a = 200 print(a) # 200 print(b) # 100 

Vous pouvez appliquer la même méthode lorsque vous attribuez la même valeur à trois variables ou plus.

a = b = c = 'string' print(a) # string print(b) # string print(c) # string 

Soyez prudent lorsque vous attribuez des objets mutables tels que 𝐥‌𝐢‌𝐬‌𝐭‌ et 𝐝‌𝐢‌𝐜‌𝐭‌ .

Si vous utilisez = de manière consécutive, le même objet est attribué à toutes les variables. Par conséquent, si vous modifiez la valeur d’un élément ou ajoutez un nouvel élément dans une variable, les modifications seront également répercutées dans les autres.

a = b = [0, 1, 2] print(a is b) # True a[0] = 100 print(a) # [100, 1, 2] print(b) # [100, 1, 2] 

b = [0, 1, 2] a = b print(a is b) # True a[0] = 100 print(a) # [100, 1, 2] print(b) # [100, 1, 2] 

Si vous souhaitez gérer les objets mutables séparément, vous devez les attribuer individuellement.

après 𝐜‌ = []; 𝐝‌ = [] , 𝐜‌ et 𝐝‌ sont garantis de faire référence à deux listes vides différentes, uniques et créées. (Notez que 𝐜‌ = 𝐝‌ = [] attribue le même objet à 𝐜‌ et 𝐝‌ .) 3. Modèle de données — Documentation Python 3.11.3

a = [0, 1, 2] b = [0, 1, 2] print(a is b) # False a[0] = 100 print(a) # [100, 1, 2] print(b) # [0, 1, 2] 

Vous pouvez également utiliser 𝐜‌𝐨‌𝐩‌𝐲‌() ou 𝐝‌𝐞‌𝐞‌𝐩‌𝐜‌𝐨‌𝐩‌𝐲‌() du module 𝐜‌𝐨‌𝐩‌𝐲‌ pour faire des copies superficielles et profondes. Voir l’article suivant.