Встречается на собеседованиях • сегодня
В чем разница между атрибутом класса и объекта
Атрибуты класса принадлежат самому классу и общие для всех его экземпляров. Атрибуты объекта уникальны для каждого экземпляра класса.
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. Атрибуты класса можно использовать без создания экземпляра.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы