Materialien zum Unterricht

Funktionen

Was sind Funktionen?

Eine Funktion ist ein Programmcode, der über den Funktionsnamen gezielt aufgerufen werden kann.
Diese Art von Programmcode lässt sich beliebig oft nutzen, ohne immer wieder im Code zu erscheinen.

Das hilft den aktuellen Programm-Code übersichtlich zu halten und vermindert die Fehleranfälligkeit eines Programms.

Der Code dient immer einem bestimmten Zweck, z.B. der Darstellung von Text auf der Konsole. (print())

Man kann bestehende Funktionen nutzen (siehe Tabelle) oder eigene Funktionen definieren.

Das Schlüsselwort def leitet die Funktionsdefinition ein, das return-Statement Symbolisiert das Ende der Funktion:

def funktionsname (parameterliste):
    Anweisungen
return

Wichtig ist hierbei auf die Einrückung mit dem Tabulator zu achten.
Sobald der Programmcode nicht mehr richtig eingerückt ist, zählt er als eigenständiger Code.

Um eine Funktion zu nutzen, muss sie im Programm aufgerufen werden.

Beispiel ohne Parameter:

Beispiel mit einem Parameter:

Beispiel mit zwei Parameter:

Aufgabe 1:

Ändere das Programm zur Berechnung der Fakultät so um, dass der Programmcode der Berechnugn in einer Funktion ist.
Zu Beginn soll das Programm eine Zahl einlesen und diese der Funktion übergeben. Diese soll wie gehabt die Fakultät der Zahl berechnen und ausgeben.


Beispiellösung for-Schleife
Hier für Lösung klicken


Beispiellösung while-Schleife
Hier für Lösung klicken

Funktionen mit Rückgabewert

Eine Funktion muss die Resultate nicht zwingend direkt auf der Konsole ausgeben. Damit der Hauptcode auf die Resultate einer Funktion zugreifen kann, können diese mit dem return-Statement an den Hauptcode zurückgegeben werden.

Beispiel mit einem Rückgabewert:

Aufgabe 2:

Schreibe ein Programm, welches in einer Funktion das Quadrat einer Zahl berechnet und das Ergebnis anschließend dem Hauptprogramm zurü:ck gibt. Im Hauptprogramm soll das Ergebnis nach der folgenden Ankündigung ausgegeben werden:
"Das Quadrat der Zahl" zahl "beträgt: " Ergebnis der Funktion



Beispiellösung
def quad(x):
    x *= x
    return x

zahl = int(input("Gib die zu quadrierende Zahl ein: "))
print("Das Quadrat der Zahl", zahl , "beträgt: ", quad(zahl))


Abschlussaufgabe

Ändere das Programm zur Berechnung der Fakultät so um, dass die Funktion mit einem Rückgabewert arbeitet.
Zu Beginn soll das Programm eine Zahl einlesen und diese der Funktion übergeben.
Diese soll die Fakultät der Zahl berechnen und nur den Rückgabewert ausgeben.
Ein print()-Befehl gibt das Ergebnis anschließend aus.


Beispiellösung for-Schleife
Hier für Lösung klicken


Beispiellösung while-Schleife
Hier für Lösung klicken


Gängige Funktionen in Python

Funktion Aktion Beispiel
print(var, "Text ") Gibt die Elemente in den Klammern auf der Console aus print("Hallo", wort, 3)
→ Hallo welt 3
input( "Eingabe-Aufforderung") Der Text wird auf der Console ausgegeben
anschließend muss der Nutzer etwas auf der Console eingeben
input("Gib eine Zahl ein ")
python input
type(variable) Gibt denDatentyp des Elements auf der Console aus type("Hallo")
→ ?
len(variable) Gibt die Länge eines sequentiellen Datentyps aus kurs = "Python-"
print(len(kurs))
→ 7
list( "Text " ) Zerlegt einen String in einzelne Elemente und speichet diese in einer Liste ab. kurs = list( "P-t on")
→ kurs=['P', '-', 't', ' ', 'o', 'n']
range(zahl) Erstellt eine Sequenz aus Zahlen von 0 bis zahl
In Kombination mit der Funktion list(Sequenz) kann man eine Liste der Länge zahl erstellen
kurs = list(range(6))
→ kurs=[0, 1, 2, 3, 4, 5]

Funktionen für sequenzielle Daten

Die folgende Liste zeigt einige Funktionen für Strings und Listen auf.

Funktion Aktion Beispiel
len(variable) Gibt die Länge eines sequentiellen Datentyps aus kurs = "Python-"
print(len(kurs))
→ 7
list( "Text " ) Zerlegt einen String in einzelne Elemente und speichet diese in einer Liste ab. kurs = list( "P-t on")
→ kurs=['P', '-', 't', ' ', 'o', 'n']
range(zahl) Erstellt eine Sequenz aus Zahlen von 0 bis zahl
In Kombination mit der Funktion list(Sequenz) kann man eine Liste der Länge zahl erstellen
kurs = list(range(6))
→ kurs=[0, 1, 2, 3, 4, 5]
min(variable) Gibt das kleinste Element des sequentiellen Datentyps aus
Bei Buchstaben und Zeichen nach Lexiografischer Reihenfolge
kurs = "Python-Daten"
print(min(kurs))
→ -
max(variable) Gibt das größte Element des sequentiellen Datentyps aus
Bei Buchstaben und Zeichen nach Lexiografischer Reihenfolge
kurs = "Python-Daten"
print(max(kurs))
→ y

Die range()-Funktion

Je nach den übergebenen Variablen kann die range()-Funktion den Zähler entweder bei 0 oder bei einer beliebigen Zahl starten lassen und gleichzeitig das Ende der Schleife sowie optional die Schrittweite festlegen.

range(y)

Die Funktion range(y) gibt eine Sequenz von Zahlen in Einerschritten aus.
Diese Sequenz startet bei 0 und endet bei y-1.

Variable Bedeutung
y Endwert der Sequenz. Die Sequenz endet vor diesem Wert (nicht inklusiv).

range(x,y)

Die Funktion range(x,y) gibt eine Sequenz von Zahlen, beginnend bei x, in Einerschritten aus.
Diese Sequenz startet bei x und endet bei y-1.

Variable Bedeutung
x Startwert der Sequenz. Die Sequenz beginnt bei diesem Wert.
y Endwert der Sequenz. Die Sequenz endet vor diesem Wert (nicht inklusiv).

Statt der Variablen können auch kleine Berechnungen eingesetzt werden (z.B. y+1)

range(x,y,z)

Die Funktion range(x,y,z) gibt eine Sequenz von Zahlen, beginnend bei x, in z-Schritten aus.
Diese Sequenz startet bei x und endet bei y-1, sofern sich y-1 innerhalb der Schrittgröße befindet.

Variable Bedeutung
x Startwert der Sequenz. Die Sequenz beginnt bei diesem Wert.
y Endwert der Sequenz. Die Sequenz endet vor diesem Wert (nicht inklusiv).
z Schrittweite oder Inkrement. Dies ist der Abstand zwischen den aufeinanderfolgenden Zahlen in der Sequenz.

Weitere Möglichkeiten der Nutzung der range()-Funktion findest du wenn du auf den Link klickst.