next up previous contents index 6163656769
Next: 1.3.2 Vereinbarung von Klassen* Up: 1.3 Namen Previous: 1.3 Namen   Contents   Index

1.3.1 Namenszuweisung für Funktionen*

Bei Funktionen funktioniert die Zuweisung ganz ähnlich. Da jedoch auch Werte an die Funktion zur Weiterverarbeitung übergeben werden können, wird hier ein anderer Operator verwendet, der def heisst, denn bei einer Funktion ist es mit einer reinen Namenszuweisung nicht getan. Es muss ja noch vorgegeben werden, was die Funktion machen soll. Sie sehen hier ein kleines Beispiel, das Sie vielleicht noch nicht hundertprozentig verstehen können. Alles wird Ihnen im Abschnitt [*] sehr genau erklärt.

Figure: Funktionsobjekte
\includegraphics[%
scale=0.8]{funktion.eps}

>>>def fakultaet(n):

...  j=1

...  for i in range(n):

...    j=j*i

...  return j

Die Funktion wird durch den folgenden Anweisungscode definiert. Daher der Name des Operators. Der Name der Funktion lautet natürlich fakultaet. Der Parameter n ist ein Name, der auf eine Zuweisung wartet. In der Tat wird die folgende Kommunikation ablaufen können:

>>>fakultaet(4)

24

>>>

Beim Aufruf wird der Name n an das Objekt 4 gebunden. Daraufhin wird der Anweisungscode abgearbeitet1.2. Am Ende wird durch die return-Anweisung ein Objekt zurückgegeben. Soll mit dem Ergebnisobjekt weitergearbeitet werden, muss diesem ebenfalls ein Name, z.B. ergebnis, in der Form

>>>ergebnis=fakultaet(4)
zugewiesen werden.

In der Abbildung [*] sehen Sie eine Funktion, der der Name carina zugewiesen wurde. Als Wertobjekte werden zwei Datenobjekte so übergeben, dass die Namen anna und bernd auf sie zeigen. Wesentlich ist, dass sowohl anna als auch bernd von aussen nicht zugänglich sind, sondern Namen sind, die zur Funktion gehören. Welche Namen innerhalb der Funktion zugänglich sind1.3, entzieht sich ebenfalls dem Blick von aussen. Es kann1.4 ein Objekt nach aussen zurückgegeben werden.


next up previous contents index 6163656769
Next: 1.3.2 Vereinbarung von Klassen* Up: 1.3 Namen Previous: 1.3 Namen   Contents   Index
Heiko Schroeder 2003-03-19