Код IT Загрузка примера кода…

Python main.py
class Meta(type):
    def __new__(mcs, name, bases, namespace):
        print(f"Создаём класс {name} через метакласс {mcs.__name__}")
        namespace['created_by_meta'] = True
        return super().__new__(mcs, name, bases, namespace)
    
    def __init__(cls, name, bases, namespace):
        print(f"Инициализируем класс {name}")
        super().__init__(name, bases, namespace)

class MyClass(metaclass=Meta):
    value = 42

print(MyClass.created_by_meta)  # True
print(type(MyClass))            # <class '__main__.Meta'>
class Meta(type):
    def __new__(mcs, name, bases, namespace):
        print(f"Создаём класс {name} через метакласс {mcs.__name__}")
        namespace['created_by_meta'] = True
        return super().__new__(mcs, name, bases, namespace)
    
    def __init__(cls, name, bases, namespace):
        print(f"Инициализируем класс {name}")
        super().__init__(name, bases, namespace)

class MyClass(metaclass=Meta):
    value = 42

print(MyClass.created_by_meta)  # True
print(type(MyClass))            # <class '__main__.Meta'>