Methoden
Teil des Abschnitts Object Oriented Programming der Python-Journey von Coddy — Lektion 5 von 64.
Methoden sind Funktionen, die zu einer Klasse gehören. Sie definieren die Verhaltensweisen oder Aktionen, die Objekte ausführen können.
Hier ist ein Beispiel für eine Klasse mit Methoden:
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 resultErstellen Sie ein Calculator-Objekt:
my_calc = Calculator()Rufen Sie eine Methode auf, die keine Parameter benötigt:
my_calc.greet()Methoden mit Parametern aufrufen:
sum_result = my_calc.add(5, 3)
print(sum_result)Rufen Sie eine Methode auf, die sowohl einen Wert ausgibt als auch zurückgibt:
product = my_calc.multiply(4, 7)Ausgabe:
Hello! I'm a calculator.
8
4 × 7 = 28Methoden können:
- Parameter entgegennehmen, wie
add(self, a, b) - Werte zurückgeben, wie
return a + b - Ausgaben direkt ausgeben, wie
print("Hello!") - Sowohl ausgeben als auch zurückgeben
Wichtiger Punkt: Methoden definieren, was Ihre Objekte tun können. Geben Sie self immer als ersten Parameter an, aber übergeben Sie ihn nicht beim Aufruf der Methode.
Aufgabe
EinfachIn dieser Challenge wirst du ein Bankensystem implementieren. Du wirst eine BankAccount-Klasse in einer Datei erstellen und sie in einer anderen Datei verwenden, um zu zeigen, wie du deinen Code für eine bessere Wartbarkeit organisierst.
Du musst mit zwei Dateien arbeiten:
- bank_account.py: Hier definierst du deine
BankAccount-Klasse - driver.py: Hier importierst du die Klasse, erstellst ein Konto und führst Transaktionen durch
Erstelle eine BankAccount-Klasse in bank_account.py mit:
- Einem Klassenattribut
bank_name, das auf "Python National Bank" gesetzt ist - Einer Methode
deposit, die einen Betrag entgegennimmt und ihn zum Kontostand hinzufügt - Einer Methode
withdraw, die einen Betrag entgegennimmt und ihn vom Kontostand subtrahiert - Einer Methode
get_balance, die den aktuellen Kontostand zurückgibt
Importiere dann in driver.py deine BankAccount-Klasse, erstelle ein Konto, zahle $100 ein, hebe $30 ab und gib den Kontostand in diesem Format aus: f"Current balance: ${my_account.get_balance()}"
Spickzettel
Methoden sind Funktionen, die zu einer Klasse gehören und definieren, was Objekte tun können.
Methoden in einer Klasse definieren:
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 resultEin Objekt erstellen und Methoden aufrufen:
my_calc = Calculator()
my_calc.greet()
sum_result = my_calc.add(5, 3)
product = my_calc.multiply(4, 7)Methoden können:
- Parameter entgegennehmen:
add(self, a, b) - Werte zurückgeben:
return a + b - Ausgaben drucken:
print("Hello!") - Sowohl drucken als auch zurückgeben
Wichtiger Punkt: Geben Sie self immer als ersten Parameter in Methodendefinitionen an, aber übergeben Sie es nicht beim Aufrufen der Methode.
Probier es selbst
from bank_account import BankAccount
# Erstellen Sie ein Konto und testen Sie Ihre Methoden
my_account = BankAccount()
my_account.balance = 0 # Startguthaben
# TODO: Transaktionen durchführen
# (Ihr Code hier)
# TODO: Den Endkontostand ausgeben
# (Ihr Code hier)Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Object Oriented Programming
1Grundlagen der OOP
Externe DateienEinführung in die OOPKlassen vs. ObjekteDer self-ParameterMethodenAttributeKonstruktor-Methode (__init__)Zusammenfassung – Einfacher Taschenrechner4Vererbung
Grundlagen der VererbungDie super()-FunktionMethoden überschreibenMehrfachvererbungMethod Resolution OrderZusammenfassung - Mitarbeiter-Hierarchie7Spezielle Methoden
Einführung in Magic MethodsOperator-ÜberladungMagic Methods für ContainerRückblick - Eigene Liste10Entwurfsmuster Teil 1
Einführung in EntwurfsmusterSingleton-MusterFactory-MusterObserver-MusterStrategy-Muster13Abschlussherausforderungen
E-Learning-PlattformBanksystemSpielcharakter-EntwicklungFahrzeugvermietung2Dekoratoren
Einführung in DekoratorenProperty-DekoratorStatischer Methoden-DekoratorKlassenmethoden-Dekorator5Polymorphismus
Methoden-Überschreiben vertieftDuck TypingAbstrakte Klassen und MethodenInterface-DesignZusammenfassung – Formen-Rechner8Fortgeschrittene OOP-Konzepte
Komposition vs. VererbungMixinsStatische und KlassenmethodenKlassendekoratorenContext Manager3Klasseneigenschaften
Instanz- vs. KlassenvariablenProperty-DekoratorenPrivate AttributeZusammenfassung – Bankkonto-Manager6Kapselung
Public, Protected, Private MemberZugriffsmodifikatorenInformation HidingProperty-Decorators für FortgeschritteneZusammenfassung - Studentenverwaltungssystem12Projekt: Bibliotheksverwaltung
ProjektübersichtBuch- und Benutzerklassen