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