Приведи пример использования metaclass

Python Middle Без компании
Приведи пример использования metaclass
Ответы
Metaclass в Python позволяет контролировать создание классов. Чаще всего используется для автоматического добавления атрибутов/методов, валидации или регистрации классов. Пример простой метаклассы, которая добавляет всем создаваемым классам атрибут `version`: ``` 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 ``` Другой пример - метакласса для регистрации всех подклассов: ``` 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) # [<class '__main__.Plugin1'>, <class '__main__.Plugin2'>] ```