Sobes.tech
Middle

Mi történik a memóriában, amikor egy változó értékét egy egységgel növeljük Pythonban?

sobes.tech MI

Válasz az MI-től

Pythonban a változók a memória objektumokra mutató hivatkozások, nem pedig a saját értékek. Amikor egy változó értékét egyre növeljük, például x += 1, a következő történik:

  1. Egy új objektum jön létre az új értékkel (ha a típus nem változik, mint az int esetében).
  2. Az x változó erre az új objektumra kezd hivatkozni.
  3. A régi objektum a memóriában marad, amíg vannak rá hivatkozások; ha nincsenek, a szemétgyűjtő felszabadítja a memóriát.

Példa:

x = 5
print(id(x))  # az 5-ös számú objektum címe
x += 1
print(id(x))  # a 6-os számú objektum címe — eltér az előzőtől

Így, amikor a változó értékét módosítjuk, új objektum jön létre, és a változó erre az új objektumra irányítódik. Ez azért van, mert a Pythonban az egész számok változatlan (immutable) objektumok.