Junior
Какво е статична променлива в Python?
sobes.tech AI
Отговор от AI
В Python статична променлива е променлива, която принадлежи към класа, а не към конкретен негов екземпляр. Нейната стойност се споделя между всички екземпляри на класа.
Основни характеристики:
- Обхват: В рамките на класа.
- Време на живот: Съществува през цялото време на изпълнение на програмата.
- Достъп: Може да бъде достъпна както чрез името на класа, така и чрез екземпляр на класа (макар че достъпът чрез името на класа е по-препоръчителен, за да се обозначи статичната природа).
Пример за използване:
class MyClass:
# Статична променлива
static_variable = 10
def __init__(self, instance_variable):
# Променлива на екземпляра
self.instance_variable = instance_variable
# Достъп до статичната променлива чрез името на класа
print(MyClass.static_variable)
# Създаване на екземпляри
obj1 = MyClass(20)
obj2 = MyClass(30)
# Достъп до статичната променлива чрез екземпляри
print(obj1.static_variable)
print(obj2.static_variable)
# Промяна на статичната променлива чрез името на класа
MyClass.static_variable = 15
# Стойността се промени за всички екземпляри
print(obj1.static_variable)
print(obj2.static_variable)
В този пример static_variable е статична променлива. Тя съществува в единствен екземпляр за цялата класа MyClass и нейната стойност се споделя между обектите obj1 и obj2. Промяната чрез името на класа MyClass.static_variable = 15 се отразява на всички екземпляри.