Metotlar
Coddy'nin Python Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 5 / 64.
Metotlar, bir sınıfa ait olan işlevlerdir. Nesnelerin gerçekleştirebileceği davranışları veya eylemleri tanımlarlar.
İşte yöntemleri olan bir sınıf örneği:
class Calculator:
def greet(self):
print("Hello! I'm a calculator.")
def add(self, a, b):
return a + b
def multiply(self, x, y):
result = x * y
print(f"{x} × {y} = {result}")
return resultBir hesap makinesi nesnesi oluşturun:
my_calc = Calculator()Parametre gerektirmeyen bir yöntemi çağırın:
my_calc.greet()Parametrelerle yöntemleri çağırın:
sum_result = my_calc.add(5, 3)
print(sum_result)Hem yazdıran hem de bir değer döndüren bir yöntemi çağır:
product = my_calc.multiply(4, 7)Çıktı:
Hello! I'm a calculator.
8
4 × 7 = 28Metotlar şunları yapabilir:
add(self, a, b)gibi parametreler alabilirreturn a + bgibi değerler döndürebilirprint("Hello!")gibi çıktıyı doğrudan yazdırabilir- Hem yazdırma hem de döndürme işlemini yapabilir
Önemli Nokta: Metotlar, nesnelerinizin neler yapabileceğini tanımlar. İlk parametre olarak her zaman self ekleyin, ancak metodu çağırırken bunu geçirmeyin.
Görev
KolayBu meydan okumada bir bankacılık sistemi uygulayacaksın. Bir dosyada BankAccount sınıfı oluşturacak ve başka bir dosyada bu sınıfı kullanarak kodunu daha kolay sürdürülebilir olacak şekilde nasıl düzenleyeceğini göstereceksin.
İki dosyayla çalışman gerekiyor:
- bank_account.py:
BankAccountsınıfını tanımlayacağın dosya - driver.py: Sınıfı içe aktaracağın, bir hesap oluşturacağın ve işlemler gerçekleştireceğin dosya
bank_account.py içinde aşağıdakilere sahip bir BankAccount sınıfı oluştur:
- "Python National Bank" değerine ayarlanmış bir sınıf niteliği olan
bank_name - Bir tutar alan ve bu tutarı hesabın bakiyesine ekleyen bir
depositmetodu - Bir tutar alan ve bu tutarı bakiyeden çıkaran bir
withdrawmetodu - Güncel bakiyeyi döndüren bir
get_balancemetodu
Ardından driver.py içinde BankAccount sınıfını içe aktar, bir hesap oluştur, 100 $ yatır, 30 $ çek ve bakiyeyi şu biçimde yazdır: f"Current balance: ${my_account.get_balance()}"
Kendin dene
from bank_account import BankAccount
# Bir hesap oluştur ve metodlarını test et
my_account = BankAccount()
my_account.balance = 0 # Başlangıç bakiyesi
# TODO: İşlemleri yap
# (Kodunuz buraya)
# TODO: Son bakiyeyi yazdır
# (Kodunuz buraya)Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Nesne Yönelimli Programlama 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ıKendi başına pratik yap: Online Python derleyicisi