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

Есть ли опыт работы с метаклассами

Да, есть. Метаклассы в 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)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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