Une affectation chaînée en Python, telle que :
x = y = somefunction()
est équivalent aux deux instructions suivantes exécutées séquentiellement :
temp = somefunction() x = temp y = temp
Cela signifie que l'expression à droite de l'opérateur d'affectation est évaluée en premier, et la valeur résultante est ensuite attribuée à tous les variables sur le côté gauche, de gauche à droite.
Par exemple, le code suivant imprimera le nombre 10 deux fois :
def somefunction(): return 10 x = y = somefunction() print(x) print(y)
Il est important de noter que les affectations chaînées peuvent être problématique lorsqu'il s'agit d'objets mutables, tels que des listes. Par exemple, le code suivant attribue la même liste vide à x et y :
x = y = [] x.append(1) print(x) print(y)
Cela affichera [1, 1] car x et y font référence à la même liste. Si vous aviez l'intention de créer deux listes distinctes, vous devez plutôt écrire :
x = [] y = [] x.append(1) print(x) print(y)
Cela affichera [1] et [] car x et y font référence à des listes différentes.
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!