Junior — Middle
Python'da @staticmethod dekoratörünün amacı nedir ve normal sınıf yöntemlerinden nasıl ayrılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Python'da @staticmethod dekoratörü, sınıfın bir örneğine bağlı olmayan ve otomatik olarak self parametresini almayan bir yöntemi tanımlamak için kullanılır.
Normal yöntemlerden farkları:
- Normal yöntemler ilk parametre olarak
selfalır — bu, sınıfın mevcut örneğine bir referanstır. - Statik yöntemler ise
selfveyacls(sınıfa referans) almaz.
Bu, statik yöntemin, sınıfla mantıksal olarak ilişkili olan ancak onun durumuyle ilgisi olmayan bir fonksiyon olduğu anlamına gelir.
Örnek:
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 yöntemler, sınıf bağlamında anlamlı olan ve onun verilerine erişim gerektirmeyen yardımcı fonksiyonlar için kullanışlıdır.