Middle
Ako sú v Pythone usporiadané premenné?
sobes.tech AI
Odpoveď od AI
Premenné v Pythone nie sú kontajnery s údajmi, ale skôr štítky alebo mená, ktoré odkazujú na objekty v pamäti.
Keď priraďujete hodnotu premennej, nekopírujete túto hodnotu, ale vytvárate odkaz na existujúci alebo vytváraný objekt.
Základné koncepty:
- Názvy premenných: Môžu obsahovať písmená (latinské), číslice a podčiarknutie. Nemôžu začínať číslom. Sú citlivé na veľkosť písmen.
- Objekty: Všetko v Pythone je objekt. Každý objekt má typ, hodnotu a identifikátor (adresu v pamäti).
- Odkazy: Premenná uchováva odkaz na identifikátor objektu.
Príklad:
# Vytvoríme objekt int s hodnotou 100 a priradíme jeho identifikátor k 'a'
a = 100
# Premenná 'b' teraz odkazuje na ten istý objekt int s hodnotou 100
b = a
# Vytvoríme nový objekt int s hodnotou 200 a priradíme jeho identifikátor k 'a'
a = 200
V tomto príklade, po a = 200, premenná a odkazuje na nový objekt 200, zatiaľ čo premenná b stále odkazuje na objekt 100.
- Dynamické typovanie: Typ premennej je určený typom objektu, na ktorý odkazuje, a môže sa meniť počas behu programu.
# Premenná 'x' odkazuje na objekt int
x = 10
# Teraz premenná 'x' odkazuje na objekt str
x = "hello"
-
Zber odpadu: Keď na objekt nie sú žiadne odkazy, Python automaticky uvoľní pamäť, ktorú tento objekt zaberá, pomocou mechanizmu zberu odpadu.
-
Nepremenné (immutable) vs. meniteľné (mutable) objekty:
- Nepremenné: Čísla, reťazce, n-tice. Pri pokuse "zmeniť" takýto objekt, sa v skutočnosti vytvorí nový objekt.
- Meniteľné: Zoznamy, slovníky, množiny. Ich obsah je možné meniť bez vytvárania nového objektu.
# Nepremenný string objekt
s = "world"
# Vytvorí sa nový string "hello world", na ktorý `s` odkazuje
s = "hello " + s
# Meniteľný zoznam
l = [1, 2, 3]
# Obsah existujúceho zoznamu sa zmení
l.append(4)
Takto sú premenné v Pythone flexibilné a mocné nástroje na prácu s dátami, založené na koncepte odkazov na objekty.