Junior — Middle
Klass metodlar kontekstida self va cls o'rtasidagi farqlarni tushuntiring
sobes.tech AI
AIdan javob
Python'da self va cls metodlarning birinchi parametri uchun konventsiyalar bo'lib, ular turli maqsadlar uchun ishlatiladi:
self- bu aniq bir sinf nusxasiga ishora qiladi. Oddiy nusxa metodlarida bu ob'ektning atributlari va metodlariga kirish uchun ishlatiladi.cls- bu o'zidan emas, sinfga ishora qiladi. Bu@classmethoddekoratori bilan belgilangan sinf metodlarida ishlatiladi va sinf bilan umumiy ishlash, yangi nusxalar yaratish yoki sinf xususiyatlarini o'zgartirish uchun mo'ljallangan.
Misol:
class MyClass:
class_var = 0
def __init__(self, value):
self.instance_var = value
def instance_method(self):
print(f'Nusxa o'zgaruvchisi: {self.instance_var}')
@classmethod
def class_method(cls):
print(f'Sinf o'zgaruvchisi: {cls.class_var}')
obj = MyClass(10)
obj.instance_method() # nusxa metodini chaqirish
MyClass.class_method() # sinf metodini chaqirish