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