Sobes.tech
Back to questions
Junior — Middle
64

Каким образом можно реализовать базовый метакласс в Python?

Answer from AI

sobes.tech AI

В Python метакласс — это класс, который создает другие классы. Для реализации базового метакласса нужно определить класс, наследующийся от type, и переопределить метод __new__ или __init__ для изменения поведения создания класса.

Пример базового метакласса, который выводит имя создаваемого класса:

class Meta(type):
    def __new__(cls, name, bases, dct):
        print(f"Создается класс {name}")
        return super().__new__(cls, name, bases, dct)

class MyClass(metaclass=Meta):
    pass

# При определении MyClass выведется: Создается класс MyClass

Таким образом, метакласс позволяет контролировать процесс создания классов, добавлять атрибуты, проверять структуру и т.д.