Встречается на собеседованиях • сегодня
Есть ли опыт работы с метаклассами
Да, есть. Метаклассы в Python позволяют контролировать создание классов. Они полезны для автоматического добавления методов, валидации атрибутов, регистрации классов и т.д.
Пример:
python
class Meta(type):
def __new__(cls, name, bases, dct):
dct['version'] = 1.0 # Добавляем атрибут всем классам
return super().__new__(cls, name, bases, dct)
class MyClass(metaclass=Meta):
pass
print(MyClass.version) # 1.0
text
Нюансы:
- Могут усложнить код, если злоупотреблять
- Альтернативы: декораторы классов, `__init_subclass__` (Python 3.6+)
- Используются в ORM (Django, SQLAlchemy), ABC (Abstract Base Classes)
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы