Fachkonzept - Funktion
Funktion als Verarbeitungseinheit
Eine Funktion ist eine Verarbeitungseinheit, die übergebene Daten verarbeitet und den berechneten Funktionswert als Ergebnis zurückgibt.
Als Beispiel betrachten wir eine Funktion, die aus den Daten eines Quaders (d.h. Länge, Breite und Höhe) die Mantelfläche bestimmt.
Das Verhalten der Funktion lässt sich gut mit einem Black-Box-Diagramm verdeutlichen.
Wenn man der Verarbeitungseinheit die Daten für Länge, Breite und Höhe übergibt, dann berechnet sie den Flächeninhalt des Quadermantels.
Die Verarbeitungsvorschrift, nach der die Funktion den Flächeninhalt berechnet, ist recht einfach:
Übergabe: laenge, breite, hoehe Rückgabe: (2*laenge + 2*breite) * hoehe
Am Beispiel lassen sich die Bestandteile einer Funktion erkennen:
-
Eine Funktion hat einen Funktionsnamen.
Im Beispiel hat die Funktion den Namen
mantelQuaderflaeche
. Den Funktionsnamen sollte man so wählen, dass das berechnete Ergebnis damit möglichst gut beschrieben wird. -
Zu verarbeitende Daten werden an Funktionsvariablen
(man sagt auch Parameter) übergeben.
Im Beispiel werden die drei Parameter
laenge
,breite
undhoehe
benutzt. -
Die Verarbeitung der übergebenen Daten erfolgt mit einer Verarbeitungsvorschrift.
Im Beispiel lässt sich die Verarbeitung direkt mit einem Berechnungsausdruck
(2*laenge + 2*breite) * hoehe
beschreiben. In den weiteren Abschnitten werden schrittweise kompliziertere Verarbeitungsvorschriften benutzt. - Eine Funktion gibt das Verarbeitungsergebnis als Funktionswert zurück.
Eine ausführbare Verarbeitungseinheit erhält man, indem man eine Funktion in einer Programmiersprache implementiert. Hierzu muss man zunächst eine Funktionsdefinition (als Programmeinheit) erstellen.
Im Fall der Funktion mantelflaecheQuader
könnte die Funktionsdefinition in Python
wie folgt aussehen:
def mantelflaecheQuader(laenge, breite, hoehe):
return (2*laenge + 2*breite) * hoehe
Mit einem Funktionsaufruf wird die Verarbeitungseinheit dann aktiviert, so dass sie für übergebene Daten jeweils eine Rückgabe erzeugt. In Python kann eine solche Aktivierung direkt im Ausführfenster erfolgen:
>>> mantelflaecheQuader(3.0, 2.5, 0.8)
8.8
>>> mantelflaecheQuader(7.5, 4.2, 0.2)
4.68
Funktionsdefinition in Python
Betrachte als Beispiel die Definition der Funktion mantelflaecheQuader
.
def mantelflaecheQuader(laenge, breite, hoehe):
return (2*laenge + 2*breite) * hoehe
Eine Funktionsdefinition besteht aus zwei Teilen, einem Funktionskopf und einem Funktionskörper.
Der Funktionskopf beginnt mit dem Schlüsselwort def
. Es folgt der Funktionsname und in Klammern die
Auflistung der Parameter. Den Abschluss bildet der Doppelpunkt.
Der Funktionsrumpf dient zur Berechnung des Funktionswerts.
Mit einer return
-Anweisung wird der zurückzuliefernde Funktionswert festgelegt.
Beachte, dass die Berechnungen selbst - wie das in Python üblich ist - eingerückt werden.