Встречается на собеседованиях • сегодня
Для чего нужен метакласс
Метаклассы в Python позволяют контролировать создание и поведение классов. Они определяют, как создаются сами классы (поскольку классы в Python тоже являются объектами). Основные сценарии использования:
- Регистрация классов (например, для плагинов)
- Проверка/модификация атрибутов класса
- Автоматическое добавление методов
- Реализация ORM, API, валидаторов
Пример простого метакласса, который добавляет к имени класса префикс:
python
class PrefixMeta(type):
def __new__(cls, name, bases, namespace):
namespace['__annotations__'] = {}
prefixed_name = f'Prefixed_{name}'
return super().__new__(cls, prefixed_name, bases, namespace)
class MyClass(metaclass=PrefixMeta):
pass
print(MyClass.__name__) # Выведет: Prefixed_MyClassВажно: метаклассы усложняют код, поэтому их стоит использовать только когда обычного наследования недостаточно.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы