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-қа сілтеме жасайды, және әдіс класс атрибутын өзгертеді.