Встречается на 1% собеседований по Python
Есть ли опыт работы с метаклассами
Да, есть. Метаклассы в 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
интервью вопросы и ответы