Du tror b = a lager en kopi av objektet

Handler om: Objekt

svakest = m lager ingen ny mobil — det limer et nytt navn på det SAMME objektet. Endrer du svakest.prosent, endres også objektet i lista (mobiler[2]). Det finnes bare så mange objekter som det står Klasse(...)-kall.

Eksempel

Du finner den svakeste mobilen, lader den med svakest.prosent = 100, og blir overrasket over at mobilen i lista også er fulladet.

Slik tenker du riktig om det

Tell Klasse(...)-kallene: så mange objekter finnes det. Et = lager aldri et nytt objekt, bare en ny navnelapp.

Slik ser det ut i kode

Slik gikk det galt

svakest = mobiler[2]
svakest.prosent = 100
# tror mobiler[2] fortsatt er som foer

Slik fikser du det

svakest = mobiler[2]      # samme objekt, nytt navn
svakest.prosent = 100
print(mobiler[2].prosent)  # 100

Les om dette i boka

↓↑ naviger Enter åpne ShiftEnter ny fane Esc lukk
Velg tema
Skala