Metotlar
Coddy'nin Python Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 5 / 64.
Metotlar, bir sınıfa ait olan fonksiyonlardır. Nesnelerin gerçekleştirebileceği davranışları veya eylemleri tanımlarlar.
İşte metotları 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 metodu çağırın:
my_calc.greet()Metotları parametrelerle ç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 metodu çağırın:
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 doğrudan çıktı yazdırabilir- Hem yazdırma hem de döndürme işlemlerini yapabilir
Önemli Nokta: Metotlar, nesnelerinizin neler yapabileceğini tanımlar. Her zaman ilk parametre olarak self ekleyin, ancak metodu çağırırken onu iletmeyin.
Görev
KolayBu meydan okumada, bir bankacılık sistemi uygulayacaksınız. Kodunuzu daha iyi sürdürülebilirlik için nasıl organize edeceğinizi gösteren, bir dosyada BankAccount sınıfı oluşturacak ve bunu başka bir dosyada kullanacaksınız.
İki dosya ile çalışmanız gerekiyor:
- bank_account.py:
BankAccountsınıfınızı tanımlayacağınız yer - driver.py: Sınıfı içe aktaracağınız, bir hesap oluşturacağınız ve işlemleri gerçekleştireceğiniz yer
bank_account.py dosyasında şu özelliklere sahip bir BankAccount sınıfı oluşturun:
- "Python National Bank" olarak ayarlanmış bir
bank_namesınıf özniteliği - Bir miktar alan ve bunu hesabın bakiyesine ekleyen bir
depositmetodu - Bir miktar alan ve bunu bakiyeden çıkaran bir
withdrawmetodu - Mevcut bakiyeyi döndüren bir
get_balancemetodu
Ardından driver.py dosyasında, BankAccount sınıfınızı içe aktarın, bir hesap oluşturun, 100$ yatırın, 30$ çekin ve bakiyeyi şu formatta yazdırın: f"Current balance: ${my_account.get_balance()}"
Kopya kağıdı
Metotlar, bir sınıfa ait olan ve nesnelerin neler yapabileceğini tanımlayan fonksiyonlardır.
Bir sınıf içinde metotları tanımlayın:
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 nesne oluşturun ve metotları çağırın:
my_calc = Calculator()
my_calc.greet()
sum_result = my_calc.add(5, 3)
product = my_calc.multiply(4, 7)Metotlar şunları yapabilir:
- Parametre alabilir:
add(self, a, b) - Değer döndürebilir:
return a + b - Çıktı yazdırabilir:
print("Hello!") - Hem yazdırma hem de döndürme işlemlerini yapabilir
Önemli Nokta: Metot tanımlarında her zaman ilk parametre olarak self ifadesini ekleyin, ancak metodu çağırırken bunu iletmeyin.
Kendin dene
from bank_account import BankAccount
# Bir hesap oluşturun ve yöntemlerinizi test edin
my_account = BankAccount()
my_account.balance = 0 # Başlangıç bakiyesi
# YAPILACAK: İşlemleri gerçekleştirin
# (Kodunuz buraya)
# YAPILACAK: Son bakiyeyi yazdırın
# (Kodunuz buraya)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ı