Sobes.tech
Junior — Middle
71

Какой параметр автоматически передается методу, помеченному как @classmethod, при его вызове?

Answer from AI

sobes.tech AI

Методу, помеченному декоратором @classmethod, автоматически передается первый параметр — класс, а не экземпляр.

Обычно этот параметр называют cls. Это позволяет методу работать с самим классом, а не с конкретным объектом.

Пример:

class MyClass:
    @classmethod
    def create_instance(cls, value):
        return cls(value)

    def __init__(self, value):
        self.value = value

obj = MyClass.create_instance(10)
print(obj.value)  # Выведет 10

Здесь cls ссылается на класс MyClass, и метод может создавать новые экземпляры класса.