Junior
Co je to statická proměnná v Pythonu?
sobes.tech AI
Odpověď od AI
V Pythonu je statická proměnná proměnná, která patří ke třídě, nikoli ke konkrétnímu jejího instance. Její hodnota je sdílena mezi všemi instancemi třídy.
Hlavní vlastnosti:
- Rozsah: V rámci třídy.
- Životnost: Existuje po celou dobu běhu programu.
- Přístup: Může být přístupná jak přes název třídy, tak přes instanci třídy (ačkoliv je vhodnější přístup přes název třídy, aby bylo jasné její statické povahy).
Příklad použití:
class MyClass:
# Statická proměnná
static_variable = 10
def __init__(self, instance_variable):
# Proměnná instance
self.instance_variable = instance_variable
# Přístup ke statické proměnné přes název třídy
print(MyClass.static_variable)
# Vytvoření instancí
obj1 = MyClass(20)
obj2 = MyClass(30)
# Přístup ke statické proměnné přes instance
print(obj1.static_variable)
print(obj2.static_variable)
# Změna statické proměnné přes název třídy
MyClass.static_variable = 15
# Hodnota se změnila pro všechny instance
print(obj1.static_variable)
print(obj2.static_variable)
V tomto příkladu je static_variable statická proměnná. Existuje v jediném výtisku pro celou třídu MyClass a její hodnota je sdílena mezi objekty obj1 a obj2. Změna přes název třídy MyClass.static_variable = 15 se odráží na všech instancích.