@staticmethod
- Python kursu
- Orta seviye
- Ders 24/116
- 4 dk
@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
# Math sınıfını tanımlaÖrnek çözüm
# 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
class Math:
____
def square(x):
return x * x
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ı |