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