Junior
Mis on staatiline muutja Pythonis?
sobes.tech AI
Vastus AI-lt
Pythonis statinė kintamoji yra kintamasis, priklausantis klasei, o ne konkrečiam klasės egzemplioriui. Jo reikšmė yra dalijama tarp visų klasės egzempliorių.
Pagrindinės savybės:
- Matymo sritis: Klasei ribose.
- Gyvavimo trukmė: Egzistuoja visą programos veikimo laiką.
- Prieiga: Gali būti pasiekiama tiek per klasės pavadinimą, tiek per klasės egzempliorių (nors prieiga per klasės pavadinimą yra pageidautina, norint pabrėžti statinį pobūdį).
Pavyzdys naudojimui:
class MyClass:
# Statinė kintamoji
static_variable = 10
def __init__(self, instance_variable):
# Egzemplioriaus kintamasis
self.instance_variable = instance_variable
# Prieiga prie statinės kintamosios per klasės pavadinimą
print(MyClass.static_variable)
# Egzempliorių kūrimas
obj1 = MyClass(20)
obj2 = MyClass(30)
# Prieiga prie statinės kintamosios per egzempliorius
print(obj1.static_variable)
print(obj2.static_variable)
# Statinės kintamosios keitimas per klasės pavadinimą
MyClass.static_variable = 15
# Reikšmė pasikeitė visiems egzemplioriams
print(obj1.static_variable)
print(obj2.static_variable)
Šiame pavyzdyje static_variable yra statinė kintamoji. Ji egzistuoja viename egzemplioriuje visai klasei MyClass, ir jos reikšmė yra dalijama tarp objektų obj1 ir obj2. Keisdami reikšmę per klasės pavadinimą MyClass.static_variable = 15, tai atsispindi visuose egzemplioriuose.