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
selfqəbul edir — bu, cari sinf nümunəsinə istinad edir. - Statik metodlar isə
selfvə yacls(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.