Sobes.tech
Junior — Middle

Python'da @staticmethod dekoratorunun məqsədi nədir və o, adi sinif metodlarından necə fərqlənir?

sobes.tech Süni İntellekt

AI-dan cavab

Python-da @staticmethod dekoratoru, sinfin içində, sinf nümunəsindən asılı olmayan və avtomatik olaraq self parametrini qəbul etməyən metodu təyin etmək üçün istifadə olunur.

Adi metodlardan fərqləri:

  • Adi metodlar ilk parametr kimi self qəbul edir — bu, cari sinf nümunəsinə istinad edir.
  • Statik metodlar isə self və ya cls (sinfə istinad) qəbul etmir.

Bu, statik metodun sadəcə sinq ilə məntiqi əlaqəli olan, lakin onun vəziyyətindən istifadə etməyən funksiya olduğunu göstərir.

Nümunə:

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 kontekstində məntiqli olan və onun məlumatlarına giriş tələb etməyən utilitar funksiyalar üçün əlverişlidir.