Sobes.tech
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 self oladi — bu hozirgi sinf ob’ektiga havoladir.
  • Statik metodlar esa self yoki cls (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.