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:
- Egy új objektum jön létre az új értékkel (ha a típus nem változik, mint az int esetében).
- Az
xváltozó erre az új objektumra kezd hivatkozni. - 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.