Встречается на собеседованиях • сегодня
В чем разница между объявлением переменной в инициализаторе и переменной класса
Объявление переменной в инициализаторе (__init__) создает атрибут экземпляра, который уникален для каждого объекта. Переменная класса объявляется на уровне класса и является общей для всех экземпляров.
Пример:
python
class MyClass:
class_var = "I'm a class variable" # Общая для всех экземпляров
def __init__(self, value):
self.instance_var = value # Уникальна для каждого экземпляра
obj1 = MyClass(1)
obj2 = MyClass(2)
print(obj1.class_var) # "I'm a class variable"
print(obj2.class_var) # "I'm a class variable"
print(obj1.instance_var) # 1
print(obj2.instance_var) # 2
text
**Ключевые отличия:**
- Переменные класса доступны через `ClassName.var` или `instance.var`.
- Изменение переменной класса через экземпляр создаст атрибут экземпляра (`obj1.class_var = "new"` не изменит `class_var` для других объектов).
- Переменные инициализатора всегда принадлежат конкретному экземпляру.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы