Junior — Middle
Python'da @staticmethod dekoratorining maqsadi nima va u oddiy sinf metodlaridan qanday farq qiladi?
sobes.tech AI
AIdan javob
Python'da @staticmethod dekoratori, sinf ichga bog‘liq bo‘lmagan va avtomatik tarzda self parametrini qabul qilmaydigan metodni aniqlash uchun ishlatiladi.
Oddiy metodlar bilan farqi:
- Oddiy metodlar birinchi parametr sifatida
selfoladi — bu hozirgi sinf ob’ektiga havoladir. - Statik metodlar esa
selfyokicls(sinfga havola) olmaydi.
Bu shuni anglatadiki, statik metod — bu sinf bilan mantiqan bog‘liq bo‘lgan, ammo uning holatini ishlatmaydigan oddiy funksiya.
Misol:
class MyClass:
@staticmethod
def static_method(x, y):
return x + y
def instance_method(self, x, y):
return x * y
print(MyClass.static_method(3, 4)) # 7
obj = MyClass()
print(obj.instance_method(3, 4)) # 12
Statik metodlar, sinf kontekstida ma’nosi bo‘lgan va uning ma’lumotlariga kirishni talab qilmaydigan utilitar funksiyalar uchun qulaydir.