Junior — Middle
79
Erklären Sie die Rolle und den Zweck von Metaklassen in Python und wie sie bei der Definition von Klassen verwendet werden.
Unternehmen wurden gefragt
Soft Media Group
Antwort von AI
sobes.tech KI
Метаклассы в Python — это классы для классов. Они определяют, как создаются классы. Обычно при объявлении класса Python использует метакласс type по умолчанию.
Роль метаклассов — контролировать процесс создания класса: можно изменить атрибуты, методы, добавить логику или проверку.
Пример использования:
class Meta(type):
def __new__(cls, name, bases, attrs):
attrs['custom_attr'] = 'Добавлено метаклассом'
return super().__new__(cls, name, bases, attrs)
class MyClass(metaclass=Meta):
pass
print(MyClass.custom_attr) # Выведет: Добавлено метаклассом
Таким образом, метаклассы полезны для создания фреймворков, ORM, где нужно автоматически модифицировать классы при их определении.