Back to questions
Junior — Middle
61
Какую роль выполняет аргумент cls внутри декоратора @classmethod?
Answer from AI
sobes.tech AI
Аргумент cls в методе, декорированном @classmethod, представляет сам класс, а не экземпляр класса. Это позволяет методу работать с классом напрямую — например, создавать новые экземпляры или изменять атрибуты класса. В отличие от обычных методов, где первым аргументом является self (экземпляр), в классовых методах первым аргументом всегда является класс cls.
Пример:
class MyClass:
count = 0
@classmethod
def increment_count(cls):
cls.count += 1
MyClass.increment_count()
print(MyClass.count) # Выведет: 1
Здесь cls ссылается на MyClass, и метод изменяет атрибут класса.