Um ein Rechteck zu zeichnen, verwenden wir die Funktion rectangle der Bibliothek PyTamaro. Dies machen wir mit Funktionsaufrufen und Argumenten, die einen Rückgabewert erzeugen.
from pytamaro import rectangle, green, show_graphic
show_graphic(rectangle(200, 50, green))
Dieser Funktionsaufruf besteht immer zuerst aus dem Namen der Funktion, gefolgt von einem Klammernpaar mit den Argumenten:
Am Funktionsnamen erkennt der Mensch ungefähr, was die Funktin tut. Der Compiler weiss durch den Funktionsnamen, was er tun soll. Funktionsnamen müssen eindeutig sein, sonst kommt es zu Verwirrung und Fehlermeldungen.
Argumente stehen in den Klammern des Funktionsaufrufs und sind durch Kommas getrennt. Die Reihenfolge, die Anzahl und der Datentyp der Argumente sind meist eindeutig und müssen korrekt verwendet werden. In der Dokumentation steht, welche Argumente man verwenden soll: rectangle.
Die Ausgabe ist der Rückgabewert, in diesem Fall ein grünes Rechteck des Datentyps Graphic. Jede Funktion hat entweder keinen oder genau einen Rückgabewert.
Sie können die Funktionsdefinition (Vorgaben) in der Dokumentation nachschauen, z. B. indem Sie auf rectangle klicken.
Abhängig von der Definition einer Funktion können 0 bis unendlich viele Argumente übergeben werden. print
ist zum Beispiel flexibel, beside jedoch benötigt genau zwei Argumente.
print()
print("null")
print(0, "eins")
print("null", 1, "zwei")
print(0, "eins", "zwei", 3)
print("null", 1, 2, "drei", 4)
print("null", 1 + 2, "drei", 4, "fünf")
print("null", 1 + 2, "drei", "vier, fünf + 6")
etc.
Anzahl Argumente für jeden Aufruf
print()
print("null")
print(0, "eins")
print("null", 1, "zwei")
print(0, "eins", "zwei", 3)
print("null", 1, 2, "drei", 4)
print("null", 1 + 2, "drei", 4, "fünf")
print("null", 1 + 2, "drei", "vier, fünf + 6")
Argumente werden kommagetrennt in den Klammernpaaren aufgerufen. Spezialfälle:
1 + 2
ist also ein Argument und nicht zwei, da die zwei Zahlen addiert werden, bevor sie als Argument der print
-Funktion übergeben werden."vier, fünf + 6"
ist auch ein Argument, obwohl es ein Komma beinhaltet. Der Grund sind die Gänsefüsschen. Alles, was von Gänsefüsschen umgeben ist, ist ein String, egal ob dies ein Komma, eine Klammer oder ein Funktionsaufruf wie "print()"
ist.Wir können in Funktionen andere Funktionen aufrufen. Dann werden, wie bei der Rechnung 3 + (4 * 5)
, zuerst die Werte in den Klammern ausgewertet. Das Programm arbeitet sich also von innen nach aussen:
0. Hier ist der ellipse -Aufruf im show_graphic -Aufruf. | 1. Zuerst wird die innere Funktion ellipse ausgewertet und eine Ellipsengrafik an die äussere Funktion zurückgegeben. | 2. Zuletzt gibt die äussere Funktion show_graphic die Ellipsengrafik in der Konsole als Seiteneffekt aus. |
---|---|---|
![]() | ![]() |
show_graphic(
beside(
triangle(60, 30, 90, red),
triangle(60, 30, 90, blue)
)
)
Lösungsvorschlag:
0. Code | 1. zwei innerste Funktionen | 2. zweitinnerste Funktionen | 3. äusserste Funktion, Seiteneffekt an die Konsole |
---|---|---|---|
![]() | ![]() | ![]() |
show_graphic
Die Funktion show_graphic unterscheidet sich in zwei wichtigen Punkten von Grafikfunktionen wie beside
und rectangle
:
debug
.Ein Seiteneffekt ist etwas, das an die Konsole ausgegeben wird und somit für Menschen sichtbar wird. Jedoch kann ein Programm einen Seiteneffekt an die Konsole nicht weiterverwenden (Eine Funktion, die nur einen Seiteneffekt hat, hat immer den Datentyp NoneType
.)
Im folgenden Beispiel wird aus ellipse(200, 50, blue)
eine Grafik als Rückgabewert erstellt und kann als solche an die äussere Funktion show_graphic
weitergegeben werden. show_graphic
jedoch gibt nichts zurück; stattdessen gibt es die Grafik an die Konsole aus (weg).
Eine Grafik in show_graphic
kann also nicht in einer anderen Funktion verwendet werden, denn es gibt keine Grafik zurück. Folgender Code wird also immer einen Fehler ausgeben:
from pytamaro import show_graphic, rectangle, beside, blue, green
beside(
show_graphic(
rectangle(100, 10, blue)
),
rectangle(200, 20, green)
)
from pytamaro import show_graphic, rectangle, beside, blue, green
show_graphic(
beside(
rectangle(100, 10, blue),
rectangle(200, 20, green)
)
)
debug
debug
aktiviert, also auf True
gesetzt wird, wird auf der angezeigten Grafik einerseits der Mittelpunkt angezeigt und andererseits der zeigt ein Rahmen die Aussenkanten der Grafik an.from pytamaro import triangle, blue
show_graphic(triangle(60, 300, 120, blue), True)
print
Die Funktion print
gibt wie show_graphic ihre Argumente als Seiteneffekt aus, bei uns auf der Konsole:
print()
ohne Argumente gibt einfach eine leere Zeile aus, es wird in der Konsole also auf eine neue Zeile gewechselt (\newline
oder \n
).
print
ist, im Gegensatz zu show_graphic, eine built-in Funktion von Python, sie muss also nicht importiert werden.
print
hat mehrere optionale Argumente, wir schauen davon end
und sep
an.
end=
Nach jedem print
-Aufruf wird standardmässig auf eine neue Zeile gewechselt, normalerweise endet also ein print
-Aufruf auf \n
. Falls Sie das nicht wünschen, können Sie als letztes Argument end=" "
schreiben:
Als end
-Wert kann man irgendeinen String setzen: end=", "
, end="abc "
...
sep=
Ein anderes wichtiges optionales print
-Argument ist sep
.
sep
legt das Trennzeichen zwischen den einzelnen, auszugebenden Werten in print
fest. Standardmässig ist es das Leerzeichen (Leerschlag, space), jedoch kann es wieder auf jeden String festgelegt werden.Wichtig bei der Verwendung von optionalen Argumenten in Python ist, dass immer erst am Schluss aufgelistet werden, nie vor den obligatorischen Argumenten.
Lesen Sie auch die offizielle Dokumentation von print oder klicken Sie auf print
als Tippkarte in der obersten Zeile einer Codezelle, um noch mehr darüber zu erfahren.
end
und sep
und lassen Sie den Computer das Resultat (...) berechnen, rechnen nicht Sie selbst!print(1,2,3,3,4,67,6, sep="*")
print(1,2,3,3,4,67,6, sep="-")
print("Hallo Emi", end=", ")
print("hast du Egon gesehen", end="? ")
print("LG J")
print("1223 / 2", 1223 / 2, sep=" = ", end=" ist ungleich ")
print("1223 // 2", 1223 // 2, sep=" = ")
print
mit verschiedenen Argumenten benutzen.print
in eigenen Worten erklären und verwenden und diese Kenntnisse auf andere Funktionen anwenden.This activity has been created by Gall and is licensed under CC BY-SA 4.0.
Funktion, Argument, Rückgabewert
PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI
Privacy Policy • Platform Version 51a7c2e (Tue, 22 Apr 2025 08:35:06 GMT)