CodeBlanks Logo Icon CodeBlanks

@staticmethod

@staticmethod ile statik metotları öğrenirsin.

@staticmethod decorator

@staticmethod decorator'ı, bir metodu ne self ne de cls parametresi olmadan tanımlar. Sınıfın içine yerleştirilmiş sıradan bir fonksiyon gibidir.

Örnek: class Math:\n @staticmethod\n def square(x):\n return x * x. Math.square(5) çağrısı 25 döndürür; örnek oluşturmaya gerek yoktur. Bu, mantıksal olarak sınıfla ilişkili ama örnek verisine ihtiyaç duymayan yardımcılar için kullanışlıdır.

Sınıf üzerinden çağrı

Static metotlar örnek oluşturmadan sınıf üzerinden çağrılır. Math.square(5) yazımı yeterlidir. Örnek üzerinden de çağrılabilir ama genelde sınıf adı kullanılır.

Bu, yardımcı hesaplama fonksiyonlarını gruplamak için pratiktir. Örnek: Math.square(5) ve Math.cube(3) aynı sınıfta toplanır. Çağrı anında örnek verisi gerekmediği için örnek oluşturmak zaman kaybı olur.

Uygulama Math sınıfına static metot ekle

Math adında bir sınıf tanımla. İçine @staticmethod decorator'ı ve def square(x): metodu ekle; gövdede return x * x yaz. Sonra print(Math.square(5)) çağrısı yap.

Başlangıç kodu

main.py
# Math sınıfını tanımla

Örnek çözüm

main.py
# Math sınıfını tanımla
class Math:
    @staticmethod
    def square(x):
        return x * x

print(Math.square(5))

Beklenen çıktı

25

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangi decorator metoda self eklemeyi zorunlu kılmaz?

  • @dataclass
  • @classmethod
  • @property
  • @staticmethod Doğru cevap

Açıklama: @staticmethod self veya cls parametresi istemez.

2 Static metot satırını tamamla

Soru
class Math:
    ____
    def square(x):
        return x * x
Cevap
class Math:
    @staticmethod
    def square(x):
        return x * x

Açıklama: @staticmethod metodu sıradan fonksiyon gibi işaretler.

3 Static metot parçalarını eşle

Kavram Anlamı
@staticmethod Decorator
def square(x) Self'süz imza
Math.square(5) Sınıf üzerinden çağrı

Orta seviye bölümündeki tüm dersler