Sobes.tech
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é:

  1. Vytvorí sa nový objekt s novou hodnotou (ak sa typ nezmení, ako pri int).
  2. Premenná x začne odkazovať na tento nový objekt.
  3. 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.