Встречается на собеседованиях • сегодня

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

Атрибуты класса принадлежат самому классу и общие для всех его экземпляров. Атрибуты объекта уникальны для каждого экземпляра класса.

python
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"

text

**Ключевые отличия:**  
1. Атрибуты класса создаются вне `__init__`, атрибуты объекта — внутри.  
2. Изменение атрибута класса отражается на всех экземплярах, атрибуты объекта независимы.  
3. Атрибуты класса можно использовать без создания экземпляра.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы