Sobes.tech
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 self alır — bu, sınıfın mevcut örneğine bir referanstır.
  • Statik yöntemler ise self veya cls (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.