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