Aufruf

Wir haben bereits Funktionen verwendet. Nämlich diejenigen der Canvas-Klasse: create_oval(100,150,200,73) ruft die Funktion create_oval eines Canvas-Objektes auf mit den Argumenten 100, 150, 200 und 73 auf. Die Funktion create_oval übernimmt die Wert der Argumente (mit beliebigen Zahlen) und zeichnet einen Kreis an der entsprechenden Stelle.

Im Allgemeinen ruft man eine Funktion auf, indem man ihren Namen, gefolgt von runden Klammern mit – falls vorhanden – durch Kommas getrennte Argumente schreibt.

Einige Beispiele von Canvas-Funktionen:

create_oval(100, 150, 200, 73)
Ruft die Funktion create_oval auf und übergibt als Argumente 4 Zahlen.
Zeichnet einen Kreis.

create_oval(100, 150, 200, 73, width=3)
Ruft die Funktion create_oval auf und übergibt als Argumente die 4 obligatorischen Zahlen und ein weiteres benanntes und fakultatives Argument.
Zeichnet einen Kreis mit der Dicke 3.

create_line(x1, y1, x2, y2)
Ruft die Funktion create_line auf und übergibt als Argument 4 Zahlen.
Zeichnet eine Linie zwischen den Punkten (x1,y1) und (x2,y2).

Auch von der Gui-Klasse von appJar haben wir Funktionen verwendet:

gui()
Erstellt ein neues Objekt der Klasse und liefert dieses zurück. Das Ergebnis weisen wir einer Variablen zu, also mit app=gui()
Erstellt ein neues Fenster

setSize(800, 600)
Ruft die Funktion setSize des Gui-Objektes auf und liefert die Dimensionen als Zahlen.
Setzt die Fenster-Grösse: Breite auf 800, Höhe auf 600

addCanvas("c1")
Ruft die Funktion addCanvas eines Gui-Objektes auf. Die Funktion verlangt als Argument einen Text als Namen für den Canvas.
Fügt dem Fenster eine Zeichenfläche hinzu

Argumente

Eine Funktion kann kein oder mehrere Argumente entgegennehmen. Damit wir eine Funktion mit den korrekten Argumenten «füttern» können, müssen wir wissen was sie tut und was sie als Argument(e) erwartet.

Die print-Funktion gibt einfach alles aus. Normalerweise geben wir Text aus, aber sie kommt auch mit Zahlen und anderem zu recht: Das Argument wird einfach in Text umgewandelt:

print("Hallo")      # Hallo
print(1)            # 1
print("1")          # 1
print(1.0000)       # 1.0
print("1.0000")     # 1.0000

Hingegen ergeben die folgenden Funktionsaufrufe keinen Sinn und führen Error-Meldungen:

create_line(1)           # shape erwartet 4 Zahlen
set_size("c1")           # set_size erwartet 2 Zahlen

Ebenso spielt die Reihenfolge der Argumente eine Rolle: Die create_line-Funktion erwartet als erstes Argument die x-Koordinate und als zweites die y-Koordinate des ersten Punktes. Als drittes dann die x-Koordinate und als viertes die y-Koordinate des zweiten Punktes.

Rückgabewerte

Gewisse Funktionen berechnen etwas und liefern einen Wert zurück.

gui()
Erstellt ein Fenster und liefert dieses zurück. Wir müssen uns eine Referenz auf das Fenster merken, damit wir damit arbeiten können!

addCanvas("c1")
Die addCanvas-Funktion liefert eine Referenz auf ein Canvas-Objekt zurück. Dieses können wir einer Variablen zuweisen, damit wir den Canvas später wieder verwenden können:

app = gui()
canvas = app.addCanvas("c1")
canvas.create_oval(100, 150, 200, 73, width=3)