Junior — Middle
Pythonдогу @staticmethod декораторунун максаты эмнеде жана ал классдагы кадимки методтордон эмнеде айырмаланат?
sobes.tech AI
AIден жооп
Python'da @staticmethod dekoratoru, sinf 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ə sinf 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.