Как создать простой метакласс
Python
Middle
Без компании
Как создать простой метакласс
Ответы
Метакласс — это класс, который создаёт другие классы. В Python по умолчанию используется `type`, но можно создать свой.
**Пример простого метакласса:**
```
class Meta(type):
def __new__(cls, name, bases, namespace):
# Добавляем атрибут к классу при создании
namespace['version'] = 1.0
return super().__new__(cls, name, bases, namespace)
class MyClass(metaclass=Meta):
pass
print(MyClass.version) # Выведет: 1.0
```
**Ключевые моменты:**
- Метакласс наследуется от `type`.
- Метод `__new__` вызывается при создании класса.
- Параметры:
- `cls` — сам метакласс,
- `name` — имя создаваемого класса,
- `bases` — кортеж родительских классов,
- `namespace` — словарь атрибутов класса.
Метаклассы часто используют для автоматической регистрации классов, валидации или добавления общих атрибутов.