At My Fingertips

Documentation

Funktionen definieren

Jetzt klärt sich endlich, was es mit den "Redboxes" der API Dokumentation von PyTamaro auf sich hat. Sie stellen Funktionen dar, die in PyTamaro vordefiniert sind. Innerhalb der "Redboxes" laufen im Hintergrund implementierte Programmschritte ab.

Nun wirst du selber zum Ersteller / zur Erstellerin von Funktionen, die du aufrufen und wiederverwenden kannst.

Alt text

Ziele

Erkenne den Sinn und Nutzen von Funktionen und erstelle eigene Funktionen.

Eine Kreisfunktion

Alt text

Wir erstellen gemeinsam eine Funktion für einen blauen Kreis.

Loading...

Ein allgemeiner Kreis, bei dem wir Durchmesser und Farbe wählen, könnte nützlicher sein als eine Funktion, die uns beim Aufruf immer einen blauen Kreis mit Durchmesser 100 liefert.

Allgemeine Kreisfunktion

Schreibe eine Funktion kreis(durchmesser, farbe) und prüfe mit dem Aufruf kreis(250, gelb), ob ein gelber Kreis mit Durchmesser 250 entsteht.

Loading...

Aufbau einer Funktion

  1. Eine Funktionsdefinition beginnt mit dem Schlüsselwort def.

  2. Dann folgt ein sinnvoller funktionsname in Kleinbuchstaben.

  3. Anschliessend mindestens () oder in den Klammern einige Parameter, die während dem Aufruf der Funktion mit Werten gespiesen werden. Beispielweise werden bei der rechteck-Funktion breite, hoehe und farbe mitgegeben.

  4. Die Definitionszeile endet mit einem Doppelpunkt. (Normalerweise wird beim Drücken der Enter-Taste der danach folgende Code eingerückt. Falls nicht, muss die Tabulator-Taste einmal gedrückt werden.)

  5. Hier folgt nun der Körper (engl.body) der Funktion. Das ist der Code, der die Programmschritte der Funktion (der "Redbox") aufführt.

  6. Der Körper endet meist mit einem return-Statement. Return gibt von der Funktion produzierte Werte (Resultate) zurück.

# Funktionsdefinition
def meine_funktion(parameter1, parameter2):
    '''hier steht, was die Funktion tut'''
    # TODO
    return # TODO

# Funktionsaufruf & Ausgabe
zeige_grafik(meine_funktion(40, rot))

# oder je nach Funktionsdefinition
print(meine_funktion(30, "Zeichenkette"))

Aufgabe 1

Erstelle eine Funktion quadrat. Prüfe deine Funktionsdefinition anschliessend mit einem Aufruf der Funktion und Ausgabe der Grafik.

Loading...

Sinn und Zweck von Funktionen

  • Eine Funktion bildet ein Strukturierungselement, da sie eine Folge von Anweisungen unter einem Namen zusammenfasst.
  • Ein längeres Programm kann dadurch lesbarer und verständlicher werden.
  • Eine Funktion bildet eine Einheit, der eine Bedeutung zukommen sollte. Funktionsnamen beschreiben häufig die Bedeutung.
    • Z.B. max() ist eine Funktion der math-bibliothek, die das Maximum berechnet.
  • Muss eine Codesequenz mehr als einmal ausgeführt werden, so braucht man nur die Funktion mehrfach aufzurufen.
    • Damit kann man Codeduplikationen vermeiden und
    • Anpassungen am Code müssen nur einmal vorgenommen werden.

Aufgabe 2

  1. Rufe die Funktion kreis dreimal mit verschiedenen Argumenten auf.
  2. Rufe die Funktion quadrat dreimal mit verschiedenen Argumenten auf.

Wenn du möchtest, kannst du die drei Kreise oder Quadrate über Funktionen wie neben, ueber oder ueberlagere verknüpfen.

Alt text

Loading...

Toolbox nutzen

Gemeinsam mit der Lehrperson legst du die kreis- und quadrat-Funktionen in die Toolbox ab. Die Toolbox ist deine eigene Bibliothek.

Wenn du das Vorgehen nicht memorisieren kannst, hast du eine Anleitung in der Aktivität PyTamaro iconAm Markt 1 oder bei dieser Aktivität: PyTamaro icon Learn Toolbox .

Dann musst du nun noch die import-Zeile kennen, um die Funktionen aus deiner Toolbox-Bibliothek in zukünftigen Aktivitäten zu nutzen:

from toolbox import kreis, quadrat

Nutze den Import der kreis-Funktion in der nächsten Aufgabe.

Aufgabe 3: Schneemann

  1. Erstelle eine Funktion mit Namen Schneemann.
  2. Speichere deine Schneemann-Funktion in der Toolbox.

Überlege dir zuerst genau, welche Parameter relevant sind und ob sie voneinander abhängen.

  • Willst du beispielsweise ein gleich bleibendes Verhältnis von unterer Schneekugel zu oberer Schneekugel haben? Dann solltest du nur einen Parameter für "durchmesser" nutzen und bei der grösseren Kugel z.B. durchmesser*1.5 schreiben.
  • Sollen die Kugeln verschiedene Farben haben? Dann brauchst du zwei Parameter für "farbe".

Alt text

Loading...

Was du gelernt hast

Allgemeine Programmierskills

Diese Aspekte sind unabhängig von PyTamaro wertvoll.

  • Du hast erste Funktionen (mit kleinem Körper) definiert:
    • darin Parameter verwendet und
    • darin Werte zurückgegeben (return-Statement).
  • Du rufst eigene Funktionen auf und übergibst Argumente an die Parameter der Funktion.
  • Du weisst, wieso es attraktiv ist, Code in Funktionen zu schreiben. Eine Funktion enthält bedeutende Codeteile, die oft als Ganzes wieder benötigt werden.

PyTamaro-abhängige Programmierskills

Das Verständnis dieser Punkte ist nur notwendig, um mit PyTamaro arbeiten zu können.

  • Du kannst Funktionen in deiner Toolbox abspeichern und sie dadurch in zukünftigen Aktivitäten oder im Playground wiederverwenden.

This activity has been created by Bernhard and is licensed under CC BY-SA 4.0.

It is derived from this activity, this activity, and this activity.

Einfache Grafiken in Funktionen

Logo of PyTamaro

PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI

Privacy PolicyPlatform Version c08406b (Wed, 20 Nov 2024 12:30:00 GMT)