Middle
Čo sa deje v pamäti pri zvýšení hodnoty premennej o jednotku v Pythone?
sobes.tech AI
Odpoveď od AI
V Pythone sú premenné odkazy na objekty v pamäti, nie samotné hodnoty. Keď zvýšite hodnotu premennej o jeden, napríklad x += 1, stane sa nasledovné:
- Vytvorí sa nový objekt s novou hodnotou (ak sa typ nezmení, ako pri int).
- Premenná
xzačne odkazovať na tento nový objekt. - Starý objekt zostáva v pamäti, pokiaľ na neho existujú odkazy; ak nie, garbage collector uvoľní pamäť.
Príklad:
x = 5
print(id(x)) # adresa objektu s číslom 5
x += 1
print(id(x)) # adresa objektu s číslom 6 — odlišná od predchádzajúcej
Týmto spôsobom, pri zmene hodnoty premennej, sa vytvorí nový objekt a premennej je priradená jeho adresa. To je spôsobené tým, že celé čísla v Pythone sú nemenné objekty.