Bedeutung von +=

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
trite
User
Beiträge: 14
Registriert: Mittwoch 6. November 2019, 16:59

Moin,

da ich gerade dabei bin Python zu lernen, wie habe ich "+=" zu verstehen?
Weil ich verstehe irgendwie nicht, wie sich daraus ein Ergebnis zusammensetzt.

Bspw.
sum = 0
for i in range(1, 11):
sum += i

Wird da immer i mit sich selbst addiert?
Also 1+1 ; 2+2, 3+3 usw? Und am Ende dann alles zusammen gerechnet?
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

"a += b" entspricht "a = a + b".

Ich finde aber auch gerade nichts außer dem hier in der Dokumentation als Operatorenübersicht.
Benutzeravatar
__blackjack__
User
Beiträge: 14051
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Wenn man solche Fragen hat, zur Bedeutung von Operatoren oder Namen aus der Standardbibliothek, ist der Index in der Python-Dokumentation hilfreich. Der ist auf fast jeder Seite oben rechts erreichbar und hat auch einen Eintrag für ``+=`` der zu dieser Stelle in der Dokumentation führt: https://docs.python.org/3/reference/sim ... l#index-14
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Benutzeravatar
ThomasL
User
Beiträge: 1379
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

trite hat geschrieben: Samstag 9. November 2019, 17:54 Wird da immer i mit sich selbst addiert?
Nein, i mit sich selbst wäre ja i += i.
Du addierst pro Schleifendurchlauf i auf den Wert von sum.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Benutzeravatar
__blackjack__
User
Beiträge: 14051
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Wobei `sum` kein guter Name ist, denn damit verdeckt man genau die eingebaute Funktion die das einfacher macht:

Code: Alles auswählen

In [7]: sum(range(1, 11))                                                       
Out[7]: 55
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Antworten