Funktionen definieren I

Funktionen sind kleine Unterprogramme, die im vom Hauptprogramm oder von anderen Funktionen wie Befehle aufgerufen werden können. Nehmen Sie z.B. diesen Algorithmus in der Kara-Welt:

Diesen Algorithmus könnte man zwar in einer geschachtelten Schleife realisieren. Aber lohnt sich das? Ist es nicht vielmehr so, dass man die Funktion „Blätter in eine Reihe legen“ nicht immer mal brauchen könnte? Könnte man dann nicht einfach quasi einen eigenen Befehl definieren? Man kann.

Solche Programmkonstrukte, die in ihrer Funktionalität immer wieder verwendet werden können, werden als Funktionen bezeichnet.

Syntax der Funktionen

Sehen Sie sich diese Definition der Funktion „umdrehen“ aus der Kara-Welt an:

#Kara dreht sich um
def umdrehen():
  kara.turnLeft()
  kara.turnLeft()

Geben Sie die wesentlichen Syntaxelemente an:

  • Welches Schlüsselwort wird benutzt?
  • Welche anderen Zeichen sind bedeutungstragend?

Wie wird dieses Unterprogramm aufgerufen? Erklären Sie es an diesem Beispiel.

kara.putLeaf()
kara.move()
umdrehen()
kara.move()
umdrehen()

Konventionen

Folgende Konventionen erleichtern Ihnen die Arbeit mit Funktionen:

  • Benennung: Funktionen dienen dazu, dass etwas Bestimmtes gemacht wird. Dies sollte sich im Name widerspiegeln: Der Name sollte angeben, was gemacht wird. Das erleichtert das Verständnis, wenn die Funktion im Hauptprogramm oder in anderen Funktionen aufgerufen wird.
  • Position im Quellcode: In Python können Funktionsdefinitionen auch im Hauptprogrammteil stehen. Dies macht den Code aber schwer leserlich. Schreiben Sie Funktionen deswegen immer über das Hauptprogramm.
  • Dokumentation: Schreiben Sie über die Funktion, was diese macht.