Maison >développement back-end >Tutoriel Python >Quand est-ce que i += x et i = i + x ne sont pas égaux en Python ?

Quand est-ce que i += x et i = i + x ne sont pas égaux en Python ?

silencement
silencementoriginal
2019-05-23 11:04:584413parcourir

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 :

Quand est-ce que i += x et i = i + x ne sont pas égaux en Python ?

Exemple 2 : Utilisez des instructions d'affectation ordinaires :

Quand est-ce que i += x et i = i + x ne sont pas égaux en Python ?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn