Zum Inhalt springen

Informatik · Klasse 7–10 · aktualisiert

Funktionen programmieren: Aufbau und Anwendung

Du lernst, wie man Funktionen in Python definiert und aufruft, was Parameter und return tun und was es heißt, eine Funktion als Wert zu übergeben.

0 von 11 Aufgaben gelöst

Funktionen programmieren: Aufbau und Anwendung

Kurz gesagt

Eine Funktion ist ein benannter Teil eines Programms, den du mit einem Aufruf benutzt. Sie kann Parameter bekommen und gibt mit return einen Wert zurück, den du direkt weiterverwenden kannst. Ausgaben und Nebeneffekte sind etwas anderes als dieser Rückgabewert.

Stell dir vor, du müsstest denselben Programmteil zehnmal abtippen. Mit einer Funktion schreibst du ihn nur einmal und rufst ihn danach so oft auf, wie du willst. Das spart Zeit und macht dein Programm übersichtlicher. Hier lernst du, wie Funktionen aufgebaut sind und was sie leisten.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Mela das Ziel für dich ab.

5 Abschnitte

Eine Funktion ist ein Teil eines Programms, den du mit einem Namen ansprechen kannst. In Python beginnt die Definition mit dem Schlüsselwort def. Danach folgt der Funktionsname. Die Anweisungen der Funktion stehen darunter als Block. Python erkennt den Block an der Einrückung, nicht an geschweiften Klammern.

Die Definition legt also fest, was die Funktion tut. Ausgeführt wird sie durch einen Aufruf. Dafür schreibst du den Namen mit Klammern, zum Beispiel HalloWelt(). Danach geht es im Programm an der Stelle weiter, an der du aufgerufen hast. Du kannst dieselbe Funktion mehrmals aufrufen.

Definition

Aufruf

Ein Aufruf führt eine Funktion aus. Danach springt das Programm wieder an die aufrufende Stelle zurück.

Beispiel: HalloWelt definieren und zweimal aufrufen

  1. 1def HalloWelt():
  2. 2 print("Hallo, Welt!")
  3. 3HalloWelt()
  4. 4HalloWelt()
  5. 5Die ersten zwei Zeilen sind die Definition.
  6. 6Die letzten zwei Zeilen sind zwei Aufrufe. Der Text „Hallo, Welt!“ erscheint deshalb zweimal.

Teste dich

LeichtIn einem Python-Programm steht erst „def gruss():“ mit einer eingerückten Zeile print("Hi"). Danach folgt in einer eigenen Zeile „gruss()“. Was ist die Zeile gruss()?

Alles auf einen Blick

Funktion (Programmierung)

  • Definition und Aufruf

    Mit def legst du eine Funktion fest, der Aufruf führt sie aus.

  • Parameter

    Formale Parameter stehen in der Definition, Argumente sind die Werte beim Aufruf.

  • Rückgabewert

    return bestimmt ihn, und man kann ihn direkt weiterverwenden.

  • Vorteile

    Funktionen machen Programme wiederverwendbar, verständlicher und leichter wartbar.

  • Wirkungen

    Ausgabe und Nebeneffekt sind nicht dasselbe wie ein Rückgabewert.

  • Höhere Ordnung

    Eine Funktion kann als Argument an eine andere gehen, zum Beispiel bei map.

Musteraufgabe · Schritt für Schritt

mal_drei aufrufen und mit map übergeben (ausgedachtes Beispiel)

  1. 1Ausgedachte Aufgabe: Die Funktion mal_drei soll eine Zahl verdreifachen.
  2. 2def mal_drei(x):
  3. 3 return x * 3
  4. 4Name: mal_drei · Parameter: x · Rückgabewert: x * 3
  5. 5Aufruf mit dem Argument 4: mal_drei(4) liefert 4 * 3 = 12.
  6. 6Weil ein Wert zurückkommt, kannst du ihn direkt verwenden: mal_drei(4) + 1 ergibt 12 + 1 = 13.
  7. 7Als Wert übergeben: map(mal_drei, [1, 2, 3]) wendet mal_drei auf jedes Element an. Das ergibt 3, 6, 9.

Fehler finden

Prüfe die Aussagen zu Rückgabe und Ausgabe (ausgedachtes Beispiel) In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

In Python erkennt man den Block einer Funktion an der . Den Rückgabewert bestimmt die Anweisung . Die Werte, die du erst beim Aufruf mitgibst, heißen .

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Funktion (Programmierung)

LeichtMit welchem Schlüsselwort beginnt in Python die Definition einer Funktion?
MittelEine ausgedachte Funktion beginnt mit „def preis(menge):“. Du rufst sie mit preis(3) auf. Was ist hier das Argument?
SchwerDie ausgedachte Funktion verdopple(x) liefert eine Zahl zurück. Welcher Aufruf übergibt die Funktion verdopple selbst an eine andere Funktion?

Weiterlesen in Informatik