Junior
Čo je to statická premenná v Pythone?
sobes.tech AI
Odpoveď od AI
V Pythone je statická premenná premenná, ktorá patrí ku triede, nie ku konkrétnemu jej inštanciu. Jej hodnota je zdieľaná medzi všetkými inštanciami triedy.
Hlavné charakteristiky:
- Rozsah: V rámci triedy.
- Doba životnosti: Existuje počas celej doby behu programu.
- Prístup: Môže byť prístupná buď cez názov triedy, alebo cez inštanciu triedy (hoci prístup cez názov triedy je preferovaný na označenie statickej povahy).
Príklad použitia:
class MyClass:
# Statická premenná
static_variable = 10
def __init__(self, instance_variable):
# Premenná inštancie
self.instance_variable = instance_variable
# Prístup ku statickej premennej cez názov triedy
print(MyClass.static_variable)
# Vytvorenie inštancií
obj1 = MyClass(20)
obj2 = MyClass(30)
# Prístup ku statickej premennej cez inštancie
print(obj1.static_variable)
print(obj2.static_variable)
# Zmena statickej premennej cez názov triedy
MyClass.static_variable = 15
# Hodnota sa zmenila pre všetky inštancie
print(obj1.static_variable)
print(obj2.static_variable)
V tomto príklade je static_variable statická premenná. Existuje v jednom inštanciu pre celú triedu MyClass a jej hodnota je zdieľaná medzi objektami obj1 a obj2. Zmena cez názov triedy MyClass.static_variable = 15 sa odráža na všetkých inštanciách.