Junior — Middle
Класс методдору контекстинде self жана cls ортосундагы айырмачылыктарды түшүндүрүңүз
sobes.tech AI
AIден жооп
Pythonда self жана cls методтордун биринчи параметри үчүн конвенциялар болуп саналат, бирок алар ар башка максаттарга кызмат кылат:
self— бул конкреттүү класстын экземплярга шилтемеси. Ал жөнөкөй экземплярдык методдордо ошол объекттин мүнөздөмөлөрүнө жана методдоруна кирүү үчүн колдонулат.cls— бул өзү класска шилтемеси, ал эмес, анын экземплярга. Ал класстын методдорунда (@classmethodдеп белгиленген) колдонулат жана класс менен жалпы иштөө, жаңы экземплярларды түзүү же класс мүнөздөмөлөрүн өзгөртүү үчүн арналган.
Мисал:
class MyClass:
class_var = 0
def __init__(self, value):
self.instance_var = value
def instance_method(self):
print(f'Экземпляр өзгөрмөсү: {self.instance_var}')
@classmethod
def class_method(cls):
print(f'Класс өзгөрмөсү: {cls.class_var}')
obj = MyClass(10)
obj.instance_method() # экземпляр методу чакыруу
MyClass.class_method() # класс методу чакыруу