L'affectation chaînée en Python, où plusieurs variables sont affectées à la même valeur sur une seule ligne, a soulevé des questions sur son comportement et la relation entre différentes affectations enchaînées. Cet article vise à faire la lumière sur ces concepts.
Considérez l'affectation enchaînée :
x = y = somefunction()
Cela équivaut aux affectations distinctes suivantes :
temp = somefunction() x = temp y = temp
Il est important de noter que la cible la plus à gauche est attribuée en premier. Cela signifie que la valeur renvoyée par somefunction() est affectée à la variable située à l'extrémité la plus à gauche de l'affectation chaînée, puis que cette valeur est réaffectée aux variables restantes.
Lors de l'attribution d'objets mutables (par exemple, des listes, des dictionnaires) à l'aide d'affectations chaînées, la prudence est de mise. Considérez ce qui suit :
x = y = [] # Wrong x.append(1) print(y) # Prints [1]
Dans ce cas, x et y font référence à la même liste. L'ajout à x affecte également y car ce sont des alias du même objet sous-jacent.
Pour créer des variables séparées et distinctes, il est toujours préférable d'attribuer à chaque variable sa propre valeur :
x = [] # Right y = [] # Right
Maintenant, x et y sont deux listes vides distinctes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!