Static Method Dekoratörü
Coddy'nin Python Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 11 / 64.
@staticmethod dekoratörü, self parametresine veya sınıfa ihtiyaç duymayan metotlar oluşturur. Normal fonksiyonlar gibi çalışırlar ancak sınıfa aittirler.
Statik metotları olan bir sınıf örneği aşağıdadır:
class MathHelper:
@staticmethod
def add(a, b):
return a + b
@staticmethod
def is_even(number):
return number % 2 == 0Statik metotları sınıf adını kullanarak çağırın:
result = MathHelper.add(5, 3)
print(result)
check = MathHelper.is_even(10)
print(check)Onları bir nesneden de çağırabilirsiniz:
helper = MathHelper()
result2 = helper.add(2, 4)
print(result2)Çıktı:
8
True
6Statik metotlar örnek veya sınıf verilerine erişmez:
class Calculator:
brand = "Python Calc"
def __init__(self, owner):
self.owner = owner
@staticmethod
def multiply(x, y):
# self.owner veya Calculator.brand'e erişemez
return x * yÖnemli Nokta: Sınıfla ilgili olan ancak örneğe (self) veya sınıf verilerine erişmesi gerekmeyen bir fonksiyona ihtiyaç duyduğunuzda @staticmethod kullanın. self parametresine gerek yoktur.
Kopya kağıdı
@staticmethod dekoratörü, self parametresine veya sınıfa ihtiyaç duymayan metotlar oluşturur. Bunlar normal fonksiyonlar gibi çalışır ancak sınıfa aittirler.
class MathHelper:
@staticmethod
def add(a, b):
return a + b
@staticmethod
def is_even(number):
return number % 2 == 0Statik metotları sınıf adını kullanarak çağırın:
result = MathHelper.add(5, 3)
check = MathHelper.is_even(10)Onları bir nesne üzerinden de çağırabilirsiniz:
helper = MathHelper()
result2 = helper.add(2, 4)Statik metotlar örnek (instance) veya sınıf verilerine erişmezler - self parametresine gerek duyulmaz.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Object Oriented Programming bölümündeki tüm dersler
1OOP Temelleri
Harici DosyalarOOP'ye GirişSınıflar ve Nesnelerself ParametresiMetotlarÖzniteliklerYapıcı Metot (__init__)Özet - Basit Hesap Makinesi4Kalıtım
Temel Kalıtımsuper() FonksiyonuMetot Geçersiz KılmaÇoklu KalıtımMetot Çözümleme SırasıÖzet - Çalışan Hiyerarşisi7Özel Metotlar
Sihirli Metotlara GirişOperatör Aşırı YüklemeKapsayıcı Sihirli MetotlarıÖzet - Özel Liste10Tasarım Kalıpları Bölüm 1
Tasarım kalıplarına girişSingleton KalıbıFactory KalıbıObserver KalıbıStrategy Kalıbı13Final Meydan Okumaları
E-öğrenme PlatformuBankacılık SistemiOyun Karakteri GeliştirmeAraç Kiralama Servisi5Çok Biçimlilik (Polymorphism)
Metot Geçersiz Kılmaya Yeniden BakışDuck TypingSoyut Sınıflar ve MetotlarArayüz TasarımıÖzet - Şekil Hesaplayıcı8İleri Düzey OOP Kavramları
Kompozisyon ve KalıtımMixinsStatik ve Sınıf MetotlarıSınıf DekoratörleriBağlam Yöneticileri11Tasarım Kalıpları Bölüm 2
Komut KalıbıAdaptör KalıbıDekoratör KalıbıŞablon Metot KalıbıDurum KalıbıKompozit Kalıbı