Junior — Middle
119
Дар Python, тағйирёбҳои сатҳи синф бо тағйирёбҳои намуна чӣ фарқ доранд?
Ширкатҳо дар куҷо пурсиданд
Лига Ставок
Ҷавоб аз AI
sobes.tech AI
Переменные уровня класса (class variables) объявляются внутри класса, но вне методов, и общие для всех экземпляров этого класса. Они хранятся в пространстве имен класса и доступны через класс и его экземпляры.
Переменные экземпляра (instance variables) создаются внутри методов (обычно в __init__) и принадлежат конкретному объекту. Каждый экземпляр имеет свои собственные значения таких переменных.
Пример:
class MyClass:
class_var = 0 # переменная уровня класса
def __init__(self, value):
self.instance_var = value # переменная экземпляра
obj1 = MyClass(10)
obj2 = MyClass(20)
print(obj1.class_var) # 0
print(obj2.class_var) # 0
print(obj1.instance_var) # 10
print(obj2.instance_var) # 20
MyClass.class_var = 5
print(obj1.class_var) # 5
print(obj2.class_var) # 5
obj1.instance_var = 15
print(obj1.instance_var) # 15
print(obj2.instance_var) # 20
Таким образом, изменение переменной класса отражается на всех экземплярах, если они не переопределили её локально, а переменные экземпляра уникальны для каждого объекта.