Встречается на собеседованиях • сегодня
Приведи пример использования metaclass
Metaclass в Python позволяет контролировать создание классов. Чаще всего используется для автоматического добавления атрибутов/методов, валидации или регистрации классов.
Пример простой метаклассы, которая добавляет всем создаваемым классам атрибут `version`:
```python
class VersionMeta(type):
def __new__(cls, name, bases, namespace):
namespace['version'] = '1.0'
return super().__new__(cls, name, bases, namespace)
class MyClass(metaclass=VersionMeta):
pass
print(MyClass.version) # Выведет: 1.0
```
Другой пример - метакласса для регистрации всех подклассов:
```python
class PluginMeta(type):
registry = []
def __init__(cls, name, bases, namespace):
super().__init__(name, bases, namespace)
if name != 'BasePlugin':
PluginMeta.registry.append(cls)
class BasePlugin(metaclass=PluginMeta): pass
class Plugin1(BasePlugin): pass
class Plugin2(BasePlugin): pass
print(PluginMeta.registry) # [, ]
```

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