4.5 Funktionen, Klassen und Methoden
In diesem Kapitel lernen Sie, wie Sie Funktionen, Klassen und Methoden in Python verwenden, um Ihren Code besser zu strukturieren und wiederverwendbare Komponenten zu erstellen.
Übersicht Funktionen, Klassen und Methoden
Funktionen, Klassen und Methoden sind grundlegende Bausteine in Python, die es ermöglichen, Code zu strukturieren, wiederverwendbar zu machen und in kleinere, handhabbare Einheiten zu zerlegen.
Konzept | Beschreibung |
---|---|
Funktion | Eine wiederverwendbare Einheit von Code, die eine bestimmte Aufgabe ausführt. |
Methode | Eine Funktion, die innerhalb einer Klasse definiert ist. |
Attribut | Eine Variable, die in einer Klasse definiert wird und die Daten eines Objekts speichert. |
Klasse | Eine Vorlage zur Erzeugung von Objekten, die Variablen (Attribute) und Funktionen (Methoden) enthält. |
Instanz | Ein konkretes Objekt, das aus einer Klasse erzeugt wurde. Jede Instanz hat ihre eigenen Attributwerte. |
Konstruktor | Die Methode, die beim Instanzieren automatisch aufgerufen wird. |
Spezifischere Anweisungen und Eigenschaften
Diese Tabelle beschreibt spezifischere Anweisungen und Eigenschaften, die im Zusammenhang mit Funktionen, Klassen und Methoden in Python verwendet werden.
Anweisung/Eigenschaft | Beschreibung |
---|---|
class |
Schlüsselwort zur Definition einer Klasse. |
def |
Schlüsselwort zur Definition einer Funktion oder Methode. |
__init__ |
Der Konstruktor einer Klasse, der aufgerufen wird, wenn ein neues Objekt erstellt wird. |
self |
Ermöglicht den Zugriff auf Attribute und andere Methoden der Klasse. |
return |
Gibt einen Wert aus einer Funktion oder Methode zurück. |
Funktionen
Funktionen sind Blöcke von wiederverwendbarem Code, die eine bestimmte Aufgabe ausführen. Funktionen helfen dabei, Code übersichtlich zu halten und die Wiederholung von Code zu vermeiden.
Beispiel: Einfache Funktion
In diesem Beispiel wird eine Funktion begruessung()
definiert, die eine Begrüßung für den übergebenen Namen ausgibt.
Parameter und Rückgabewerte
Funktionen können Parameter annehmen und Werte zurückgeben.
Hier nimmt die Funktion addiere()
zwei Parameter a
und b
und gibt ihre Summe zurück.
Klassen
Klassen sind Vorlagen zur Erstellung von Objekten. Sie kombinieren Daten (Attribute) und Funktionen (Methoden), die auf diesen Daten operieren.
Beispiel: Einfache Klasse - Ausgabe über print in der Methode
In diesem Beispiel wird eine Klasse Baum
definiert, die die Attribute art
und hoehe
besitzt. Die Methode beschreibung()
gibt die Details des Baumes aus, indem sie die Art und die Höhe des Baumes anzeigt.
Die Ausgabe erfolgt direkt in der Methode über den print
-Befehl.
Beispiel: Einfache Klasse - Ausgabe über print im Hauptprogramm
Der String wird hier in der Methode mit return
an das Hauptprogramm übergeben. Wenn eine Übergabe aus der MEthode erfolgt, dann muss diese im Hauptprogramm auch entgegengenommen werden. Dies erfolgt mit beschreibung =
. Die Ausgabe erfolgt dann im Hauptprogramm über den print
-Befehl.
Beispiel: Einfache Klasse - Der Baum wächst ja noch...
Im Konstrktor sollen nur "Werte" übergeben werden, die sich im Objekt nicht ändern. Die Höhe kann sich ja bei einer Eiche ber die Zeit noch ändern und ist damit kein gutes Klassenattribut.
Der String wird hier in der Methode mit return
an das Hauptprogramm übergeben. Wenn eine Übergabe aus der MEthode erfolgt, dann muss diese im Hauptprogramm auch entgegengenommen werden. Dies erfolgt mit beschreibung =
. Die Ausgabe erfolgt dann im Hauptprogramm über den print
-Befehl.
Konstruktoren
Der Konstruktor __init__
wird aufgerufen, wenn eine neue Instanz der Klasse erstellt wird. Er initialisiert die Attribute des Objekts.
Methoden
Methoden sind Funktionen, die innerhalb einer Klasse definiert sind und auf Objekte dieser Klasse angewendet werden. Sie können auf die Attribute des Objekts zugreifen und diese manipulieren.
Beispiel: Methode zur Berechnung
In diesem Beispiel wird die Methode flaeche()
verwendet, um die Fläche eines Kreises zu berechnen, basierend auf dem Radius, der beim Erstellen des Objekts angegeben wurde.
Einfache Aufgabe
Frage den Radius interaktiv über input()
ab.
Pi Pico Script: Verwendung von Funktionen und Klassen
In diesem Beispiel kombinieren wir die Verwendung von Funktionen und Klassen, um eine LED am Pi Pico zu steuern.
In diesem Beispiel wird eine Klasse LedBlinker
erstellt, die eine LED steuern kann. Die Methode blink()
lässt die LED eine bestimmte Anzahl von Malen blinken.
Wichtiger Hinweis
Die Besonderheit von for _
in diesem Kontext liegt darin, dass der Unterstrich (_
) als Platzhalter für eine Variable verwendet wird, deren Wert im Schleifenrumpf nicht benötigt wird. Dies signalisiert, dass die Schleifenvariable ignoriert werden kann.
Aufgabe Funktionen zu Klassen
Nehmen Sie einen Sourcecode aus einem der Kapitel 3.1 - 3.6 und schreiben Sie den Sourcecode so um, dass eine Klasse genutzt wird.
Aufgabe
Erstellen Sie eine Klasse Ampel
, die drei LEDs (rot, gelb, grün) steuert und die Farben entsprechend einer Ampelschaltung (rot -> gelb -> grün) umschaltet. Implementieren Sie eine Methode schalten()
, die die Ampelschaltung durchführt.