В чем разница между атрибутом класса и объекта

Python Middle Без компании
В чем разница между атрибутом класса и объекта
Ответы
Атрибуты класса принадлежат самому классу и общие для всех его экземпляров. Атрибуты объекта уникальны для каждого экземпляра класса. ``` class MyClass: class_attr = "I'm a class attribute" # Атрибут класса def __init__(self, obj_attr): self.obj_attr = obj_attr # Атрибут объекта # Доступ к атрибуту класса print(MyClass.class_attr) # "I'm a class attribute" # Создаем экземпляры obj1 = MyClass("Instance 1") obj2 = MyClass("Instance 2") # Атрибуты объекта уникальны print(obj1.obj_attr) # "Instance 1" print(obj2.obj_attr) # "Instance 2" # Изменение атрибута класса влияет на все экземпляры MyClass.class_attr = "Changed" print(obj1.class_attr) # "Changed" print(obj2.class_attr) # "Changed" ``` **Ключевые отличия:** - Атрибуты класса создаются вне `__init__`, атрибуты объекта — внутри. - Изменение атрибута класса отражается на всех экземплярах, атрибуты объекта независимы. - Атрибуты класса можно использовать без создания экземпляра.