Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Funktionen schreiben in Python

Nach dieser Lektion: Ich kann eine Funktion schreiben, die Werte annimmt und ein Ergebnis zurückgibt.

Lektion, 55 Min.4 BefehleLab „Linux im Alltag“: die dreißig Befehle, die Entwickelnde auswendig tippen

Eine Funktion ist ein benannter Block Code

Eine Funktion ist ein benannter Block Code, den Sie beliebig oft aufrufen und der ein Ergebnis zurückgibt. So schreiben Sie eine Rechenregel einmal und nutzen sie überall.

Jeder Zeitstempel in einem Protokoll trägt ein Jahr, und ob es ein Schaltjahr ist, entscheidet über Februar. Diese Regel schreiben Sie einmal als Funktion.

Am Ende dieser Lektion

Notiz

Ich kann eine Funktion schreiben, die Werte annimmt und ein Ergebnis zurückgibt.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Funktionein benannter Block Code, den man aufrufen kann
Parameterein Name in der Funktion für einen Wert, der hereinkommtlaenge
Argumentder Wert, den man beim Aufruf übergibtflaeche(4, 3)
Rückgabewertdas Ergebnis, das return zurückgibt
lokale Variableeine Variable, die nur in der Funktion existiert

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

def schreibt eine Funktion, return gibt das Ergebnis

Eine Funktion beginnt mit def, ihrem Namen und Klammern. In den Klammern stehen die Parameter, und am Ende der Zeile steht ein Doppelpunkt.

Der eingerückte Block darunter ist der Körper. Mit return gibt er den Rückgabewert ab. Beim Aufruf übergeben Sie Argumente: flaeche(4, 3).

Die Fläche eines Rechtecks als Funktion

Code: python
# Eine Funktion rechnet die Fläche eines Rechtecks.
def flaeche(laenge, breite):
    ergebnis = laenge * breite
    return ergebnis

print(flaeche(4, 3))
print(flaeche(10, 2) + 1)
# Rufen Sie flaeche mit zwei anderen Zahlen auf.

Ein Beispiel: was beim Aufruf geschieht

Schrittlaengebreiteergebnis
Aufruf flaeche(4, 3)43noch leer
Zeile ergebnis = laenge * breite4312
return ergebnis4312 geht zurück
Nach dem Aufrufwegwegweg

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Eine Funktion in eine Datei schreiben

Befehl
printf 'def quadrat(x):\n    return x * x\n\nprint(quadrat(7))\n' > quadrat.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Datei starten

Befehl
python3 quadrat.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein häufiger Fehler

Warnung

Viele glauben, print und return täten dasselbe. print zeigt einen Wert nur an. return gibt ihn an die aufrufende Stelle zurück, damit das Programm weiterrechnen kann.

print und return im Vergleich

Code: python
def verdoppeln(x):
    print(x * 2)

ergebnis = verdoppeln(4)
print(ergebnis)
# Warum steht in ergebnis kein 8? Ändern Sie print in der Funktion zu return.

Variablen in einer Funktion gelten nur dort

Eine Variable, die Sie in einer Funktion anlegen, ist lokal. Nach dem Ende der Funktion ist sie weg.

Der Name ergebnis in flaeche ist darum von einem gleichnamigen Namen außerhalb unabhängig. Wollen Sie einen Wert hinausgeben, nehmen Sie return.

Mit assert prüfen Sie eine Funktion klein

Ein Test ruft die Funktion mit einem bekannten Beispiel auf und sagt, was herauskommen muss. Das geht mit assert.

Stimmt die Aussage, passiert nichts. Stimmt sie nicht, bricht das Programm mit einem AssertionError ab. Die nächsten Befehle prüfen quadrat so.

Eine Datei mit einer Prüfung schreiben

Befehl
printf 'def quadrat(x):\n    return x * x\n\nassert quadrat(3) == 9\nassert quadrat(0) == 0\nprint("alle Pruefungen bestanden")\n' > pruefen.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Prüfung starten

Befehl
python3 pruefen.py

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Weiterführend

Schreiben Sie eine Funktion preis_mit_steuer(preis, prozent), die den Preis plus Steuer zurückgibt. Schreiben Sie drei assert-Zeilen, die sie prüfen.

Schreiben Sie die Tests, bevor Sie den Körper füllen. Sie sehen dann, wie die drei Tests scheitern und danach bestehen.

Über dieses Lab und seinen Quellcode: Lab „Linux im Alltag“: die dreißig Befehle, die Entwickelnde auswendig tippen

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.