At My Fingertips
In dieser Aktivität lernen Sie, wie Sie Ihre eigenen Funktionen definieren können.
Nehmen Sie an, Sie haben einen Freund, der die folgende Abbildung nicht sehen kann:
Welche der folgenden Beschreibungen ist besser?
Es scheint kreisförmig zu sein, also nennen wir es einen Kreis.
Ein Kreis ist eigentlich eine besondere Form der Ellipse. Eine Ellipse, bei der Breite und Höhe identisch sind. Vielleicht haben Sie schon einmal einen Kreis in PyTamaro erstellt. Benutzen Sie die ellipse-Funktion, um einen roten Kreis mit dem Durchmesser 100 zu erstellen:
Klicken Sie zur Überprüfung auf den Knopf "AUSFÜHREN". Sieht es wie ein Kreis aus?
Es war nicht besonders bequem, einen Kreis durch Aufruf der Funktion ellipse
zu erzeugen.
Das Wort "Ellipse" in unserem Code zu schreiben, wenn wir eigentlich den Spezialfall eines Kreises meinen,
ist nicht sehr intuitiv.
Ausserdem müssen wir den Durchmesser zweimal angeben, einmal für die Breite und einmal für die Höhe.
Dies ist ärgerlich!
Wäre es nicht schön, wenn es eine spezielle Funktion zum Erstellen eines Kreises gäbe,
mit dem treffenden Namen kreis
,
die nur einen Durchmesser als Parameter benötigt?
Ha! Wann immer Sie denken: "Wäre es nicht schön, wenn es eine spezielle Funktion gäbe, um...", sollten Sie sich glücklich schätzen! Warum eigentlich? Weil Sie sich diesen Wunsch erfüllen können! Und wie? Python erlaubt es uns, eigene Funktionen zu definieren!
Die beiden Zeilen, die mit def
und return
beginnen, zeigen in der folgenden Codezelle, wie man eine Funktion definiert.
Ersetzen Sie in der Zeile danach ...
durch einen Aufruf Ihrer neu definierten Funktion kreis
,
um einen blauen Kreis mit dem Durchmesser 100 zu erzeugen.
Das Schlüsselwort def
besagt, dass das Folgende die Definition einer Funktion ist.
Direkt nach diesem Wort geben Sie den Namen der Funktion an
(wir haben unsere Funktion kreis
genannt).
Dann geben Sie die Parameter an, die in Klammern stehen
(unsere Funktion kreis
hat zwei Parameter: durchmesser
und farbe
).
Die Zeile endet mit einem Doppelpunkt.
Unterhalb dieser Zeile schreiben Sie den Körper der Funktion.
Der Körper besteht aus einer oder mehreren Zeilen,
jede Zeile enthält eine Anweisung.
In unserem Beispiel besteht der Rumpf aus einer einzigen Zeile, einer "Return"-Anweisung.
Wo endet der Textkörper?
Gute Frage!
Sehen Sie, dass der Textkörper ein wenig eingerückt ist?
Um vier Leerzeichen.
In Python ist die Einrückung wichtig. Sehr viel!
Der Hauptteil der Funktion geht so lange weiter, wie die Einrückung bestehen bleibt.
Wenn eine Zeile nicht mehr eingerückt ist, ist sie nicht mehr Teil des Körpers.
In der Code-Zelle oben,
ist die Zeile blauer_Kreis = kreis(100, blau)
nicht mehr Teil des Rumpfes.
Was macht der Körper?
Immer wenn die Funktion aufgerufen wird, wird der Körper ausgeführt.
Der Körper der Funktion kreis
ruft ellipse
auf, um eine Kreisgrafik zu erzeugen,
und gibt dann diese Kreisgrafik zurück.
Unsere Code-Zelle tut also vier Dinge:
ellipse
, blau
und zeige_grafik
.kreis
, so dass sie, wann immer sie aufgerufen wird, eine kreisförmige Ellipse mit dem angegebenen Durchmesser und der Farbe erzeugt.kreis
auf, um eine Grafik zu erzeugen, und weist dieser Grafik den Namen blauer_kreis
zu.blauer_kreis
bekannt ist.Erstellen Sie in der folgenden Codezelle einen grünen Kreis mit dem Durchmesser 150 und zeigen Sie ihn an.
Importieren Sie zunächst die Definition des Namens gruen
,
und ersetzen Sie dann das ...
durch den entsprechenden Aufruf von kreis
.
Erstellen Sie nun einen schwarzen Kreis mit dem Durchmesser 80 und zeigen Sie ihn an.
Definieren Sie dieses Mal keinen Namen,
sondern rufen Sie einfach die Funktion kreis
auf, wo das ...
steht.
Sie haben das Erstellen von Kreisen geübt, aber viel wichtiger ist, dass Sie Ihre erste Begegnung mit einer sehr wichtigen Idee in der Programmierung hatten:
def
)Das Definieren einer Funktion ist eine Form der Abstraktion:
Sie können einem Code (dem "Körper" der Funktion) einen Namen geben,
und Sie können dann diesen Namen verwenden (um die Funktion "aufzurufen")
wo auch immer Sie diesen Code ausführen müssen.
Funktionen können Parameter haben (wie durchmesser
).
Sie können dieselbe Funktion viele Male aufrufen und dabei verschiedene Werte an die Parameter übergeben.
Mit der Zeit werden Sie viele, viele Funktionen definieren. Das Definieren neuer Funktionen wird eine Ihrer häufigsten Tätigkeiten als Programmierer sein!
This activity has been created by LuCE Research Lab and is licensed under CC BY-SA 4.0.
Kreise
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version b744b47 (Tue, 08 Oct 2024 16:30:14 GMT)