Erweiterte Zuweisungsanweisungen werden häufig verwendet, da wir aus verschiedenen Lernkanälen wissen können, dass i += 1 oft effizienter ist als i = i + 1 Höher (hier nehmen wir += Beispielsweise ist die erweiterte Zuweisungsanweisung tatsächlich nicht darauf beschränkt. Deshalb werden wir nie müde, inkrementelle Zuweisungsanweisungen überall dort zu verwenden, wo wir gewöhnliche Zuweisungsanweisungen ersetzen können, um den Code zu optimieren. Haben wir jemals darüber nachgedacht, unter welchen Umständen i += 1 nicht tatsächlich i = i + 1 entspricht!!
Beispiel 1: Verwendung erweiterter Zuweisungsanweisungen:
Beispiel 2: Verwenden Sie gewöhnliche Zuweisungsanweisungen:
In den beiden obigen Beispielen wird ein Listentypobjekt der Variablen a zugewiesen, und dann wird die Variable a zugewiesen auf die Variable b. Zu diesem Zeitpunkt zeigen a und b auf dasselbe Speicherobjekt [1, 2, 3]. Wenden Sie dann den inkrementellen Zuweisungsoperator bzw. den gewöhnlichen Zuweisungsoperator an, um die Variable b zu bedienen. Dem Endergebnis nach zu urteilen, verweisen a und b in Beispiel 1 nach der Operation immer noch auf dasselbe Speicherobjekt. In Beispiel 2 hingegen verweisen a und b jeweils auf unterschiedliche Speicherobjekte, was bedeutet, dass in Beispiel 2 implizit ein neues Speicherobjekt erstellt wird.
Das obige ist der detaillierte Inhalt vonWann sind i += x und i = i + x in Python ungleich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!