Sobes.tech
Junior — Middle

Meta sınıf kavramını ve Python'da sınıfların tanımlanmasındaki rolünü açıklayın

sobes.tech yapay zeka

AI'dan gelen yanıt

Метакласс в Python — это класс, который создает другие классы. Проще говоря, класс — это объект, а метакласс — это "класс для классов".

По умолчанию все классы в Python создаются с помощью метакласса type. Метакласс определяет, как именно создается класс, какие атрибуты и методы у него будут.

Роль метакласса:

  • Управлять процессом создания класса (например, автоматически добавлять методы или проверять атрибуты).
  • Позволять изменять поведение классов на этапе их определения.

Пример использования метакласса:

class Meta(type):
    def __new__(cls, name, bases, dct):
        dct['greet'] = lambda self: f"Hello from {name}!"
        return super().__new__(cls, name, bases, dct)

class MyClass(metaclass=Meta):
    pass

obj = MyClass()
print(obj.greet())  # Выведет: Hello from MyClass!

Здесь метакласс добавляет метод greet ко всем классам, которые его используют.