Sobes.tech
Junior — Middle
83

@classmethod декораторының ішінде cls аргументі қандай рөл атқарады?

AI-дан жауап

sobes.tech AI

@classmethod деп белгіленген әдістегі cls аргументі классқа сілтеме жасайды, ал класс мысалына емес. Бұл әдіс классымен тікелей жұмыс істеуге мүмкіндік береді — мысалы, жаңа мысалдар құру немесе класс атрибуттарын өзгерту. Қалыпты әдістерден айырмашылығы, мұнда бірінші аргумент self емес, әрқашан класс cls болады.

Мысал:

class MyClass:
    count = 0

    @classmethod
    def increment_count(cls):
        cls.count += 1

MyClass.increment_count()
print(MyClass.count)  # Нәтиже: 1

Мұнда cls MyClass-қа сілтеме жасайды, және әдіс класс атрибутын өзгертеді.