Maison >développement back-end >Tutoriel Python >Quand est-ce que i += x et i = i + x ne sont pas égaux en Python ?
Des instructions d'affectation améliorées sont souvent utilisées, car à partir de différents canaux d'apprentissage, nous pouvons savoir que i += 1 est souvent plus efficace que i = i + 1 Plus élevé (ici nous prenons += à titre d'exemple, en fait, l'instruction d'affectation améliorée ne se limite pas à cela). Par conséquent, nous ne nous lasserons jamais d'utiliser des instructions d'affectation incrémentielles partout où nous pouvons remplacer les instructions d'affectation ordinaires pour optimiser le code. Alors avons-nous déjà réfléchi aux circonstances dans lesquelles i += 1 n'est pas réellement équivalent à i = i + 1 !!
Exemple 1 : Utilisation d'instructions d'affectation améliorées :
Exemple 2 : Utilisez des instructions d'affectation ordinaires :
Dans les deux exemples ci-dessus, un objet de type liste est affecté à la variable a, puis la variable Assign a à la variable b. À ce moment, a et b pointent vers le même objet mémoire [1, 2, 3]. Appliquez ensuite respectivement l’opérateur d’affectation incrémentielle et l’opérateur d’affectation ordinaire pour faire fonctionner la variable b. À en juger par le résultat final, a et b dans l'exemple 1 pointent toujours vers le même objet mémoire après l'opération. Dans l'exemple 2, au contraire, a et b pointent respectivement vers des objets mémoire différents, ce qui signifie que dans l'exemple 2, un nouvel objet mémoire est implicitement créé.
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!