Junior
Kas ir statiska mainīgā Python?
sobes.tech AI
Atbilde no AI
Python statiskā mainīgā ir mainīgais, kas pieder klasei, nevis konkrētam klases instancēm. Tā vērtība tiek dalīta starp visām klases instancēm.
Galvenās īpašības:
- Redzes lauks: Klases ietvaros.
- Dzīves ilgums: Pastāv visu programmas darbības laiku.
- Piekļuve: Var būt pieejama gan caur klases nosaukumu, gan caur klases instanci (lai gan piekļuve caur klases nosaukumu ir priekšroka, lai norādītu uz statisko raksturu).
Piemērs lietošanai:
class MyClass:
# Statiskā mainīgā
static_variable = 10
def __init__(self, instance_variable):
# Instancē mainīgais
self.instance_variable = instance_variable
# Piekļuve statiskajam mainīgajam caur klases nosaukumu
print(MyClass.static_variable)
# Instanču izveide
obj1 = MyClass(20)
obj2 = MyClass(30)
# Piekļuve statiskajam mainīgajam caur instancēm
print(obj1.static_variable)
print(obj2.static_variable)
# Mainīgā maiņa caur klases nosaukumu
MyClass.static_variable = 15
# Vērtība ir mainījusies visām instancēm
print(obj1.static_variable)
print(obj2.static_variable)
Šajā piemērā static_variable ir statiskais mainīgais. Tas pastāv vienā eksemplārā visai klasei MyClass, un tā vērtība tiek dalīta starp objektiem obj1 un obj2. Mainot vērtību caur klases nosaukumu MyClass.static_variable = 15, tas ietekmē visus instancēs esošos objektus.
Ir svarīgi atšķirt klases statiskos mainīgos no instanču mainīgajiem (self.instance_variable), kas ir unikāli katram objekta (instances) klasei.