Zum Hauptinhalt springen

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.

Parameter und Argumente

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 Zeile 1 einen Parameter namens name.
Sie nimmt beim Aufruf also einen Wert entgegen, den sie (automatisch) der Variable name zuweist.
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 Zeile 4 mit dem Argument "Bob" für den Parameter name aufgerufen.
Auf Zeile 5 wird sie erneut aufgerufen — diesmal jedoch mit dem Argument "Alice" für den Parameter name.
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.

Funktion mit Parametern schreiben

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
Laden...