Parameter und Argumente
Bei der Definition einer Funktion möchten wir oft erlauben, dass die Funktion beim Aufruf bestimmte Werte entgegennimmt, mit denen sie dann arbeitet. Beispielsweise könnten wir in einem Turtle-Programm eine funktion definieren, die ein Quadrat zeichnet. Dabei möchten wir vielleicht erlauben, dass die Seitenlänge des Quadrats beim Aufruf der Funktion angegeben werden kann.
Wir unterscheiden konzeptuell zwischen Parametern und Argumenten:
- Parameter
- Ein Parameter ist ein Variablenname, über den eine Funktion gemäss ihrer Definition einen Wert entgegennimmt.
- Im unten stehenden Beispielprogramm definiert die Funktion
sag_hallo()auf Zeile1einen Parameter namensname. - Sie nimmt beim Aufruf also einen Wert entgegen, den sie (automatisch) der Variable
namezuweist. - Argument
- Ein Argument ist ein konkreter Wert, den wir einer Funktion beim Aufruf für einen bestimmten Parameter mitgeben.
- Im unten stehenden Beispielprogramm wird die
sag_hallo()-Funktion auf Zeile4mit dem Argument"Bob"für den Parameternameaufgerufen. - Auf Zeile
5wird sie erneut aufgerufen — diesmal jedoch mit dem Argument"Alice"für den Parametername.
from turtle import *
def zeichne_quadrat(seitenlaenge):
for _ in range(4):
forward(seitenlaenge)
right(90)
zeichne_quadrat(100) # Quadrat mit Seitenlänge 100
zeichne_quadrat(150) # Quadrat mit Seitenlänge 150
Hier definiert die Funktion zeichne_quadrat() auf Zeile 3 einen Parameter namens seitenlaenge. Beim Aufruf der Funktion auf Zeile 8 und Zeile 9 werden die Argumente 100 bzw. 150 für diesen Parameter übergeben. Verwendet wird der Parameter innerhalb der Funktion auf Zeile 5 und verhält sich wie eine Variable, die den übergebenen Wert enthält.
Eine Funktion kann auch mehrere Parameter haben, die dann durch Kommas getrennt werden:
from turtle import *
def zeichne_quadrat(seitenlaenge, farbe):
pencolor(farbe)
for _ in range(4):
forward(seitenlaenge)
right(90)
zeichne_quadrat(100, 'red') # Quadrat mit Seitenlänge 100 und Farbe rot
zeichne_quadrat(150, 'blue') # Quadrat mit Seitenlänge 150 und Farbe blau
Diese Version der Funktion zeichne_quadrat() hat zwei Parameter: seitenlaenge und farbe. Beim Aufruf der Funktion auf Zeile 9 und Zeile 10 werden die jeweils zwei entsprechenden Argumente für diese Parameter übergeben. Verwendet werden die Parameter innerhalb der Funktion auf den Zeilen 4 (farbe) und 6 (seitenlaenge). Auch sie verhalten sich wie zwei Variablen, die die übergebenen Werte enthalten.
Löschen Sie den Kommentar auf Zeile 3 und definieren Sie dort eine Funktion zeichne_rechteck(...), die zwei Parameter entgegennimmt: breite und hoehe. Die Funktion soll ein Rechteck mit der angegebenen Breite und Höhe zeichnen.
from turtle import *
# Definieren Sie hier Ihre Funktion...
zeichne_rechteck(200, 100) # Rechteck mit Breite 200 und Höhe 100