Middle
Hogyan épülnek fel a változók Pythonban?
sobes.tech MI
Válasz az MI-től
A Python változók nem adatkonténerek, hanem inkább címkék vagy nevek, amelyek a memória objektumaira hivatkoznak.
Amikor értéket rendel egy változóhoz, nem másolja az értéket, hanem hivatkozást hoz létre egy létező vagy létrehozott objektumra.
Alapfogalmak:
- Változónév: Tartalmazhat betűket (latin), számokat és aláhúzásokat. Nem kezdődhet számmal. érzékeny a kis- és nagybetűkre.
- Objektumok: Minden Pythonban objektum. Minden objektumnak van típus, érték és azonosító (memória cím).
- Hivatkozások: A változó tárolja az objektum azonosítójára mutató hivatkozást.
Példa:
# Létrehozunk egy 100 értékű int objektumot, és hozzárendeljük az azonosítóját az 'a'-hoz
a = 100
# A 'b' változó most ugyanarra az int objektumra mutat
b = a
# Létrehozunk egy új 200 értékű int objektumot, és hozzárendeljük az azonosítóját az 'a'-hoz
a = 200
Ebben a példában, a a = 200 után, az 'a' az új 200 objektumra mutat, míg a 'b' továbbra is az 100 objektumra mutat.
- Dinamikus típus: A változó típusa az általa mutatott objektum típusától függ, és futás közben változhat.
# Az 'x' változó egy int objektumra mutat
x = 10
# Most az 'x' egy str objektumra mutat
x = "hello"
-
Szemétgyűjtés: Amikor már nincs több hivatkozás egy objektumra, a Python automatikusan felszabadítja a memóriát a szemétgyűjtő mechanizmus segítségével.
-
Immutable és mutable objektumok:
- Immutable: Számok, sztringek, tuple-ök. Az ilyen objektum "módosítása" valójában egy új objektum létrehozását jelenti.
- Mutable: Listák, szótárak, halmazok. Tartalmukat módosíthatjuk anélkül, hogy új objektumot hoznánk létre.
# Immutable string objektum
s = "world"
# Új string objektum jön létre "hello world", 's' erre mutat
s = "hello " + s
# Mutable list objektum
l = [1, 2, 3]
# A meglévő lista tartalma módosul
l.append(4)
Így a Python változói rugalmas és erőteljes eszközök az adatok kezelésére, az objektumokra mutató hivatkozások koncepcióján alapulva.