Parameterlose Prozeduren
Die einfachste Form von Prozeduren sind die parameterlosen Prozeduren. Parameterlose Prozeduren dienen dazu, einer Folge von Anweisungen einen Namen zu geben, sodass wir diese später unter diesem Namen mehrmals verwenden können.
Angenommen wir hätten folgenden Code:
n = 10
i = 0
while i < 10:
if i % 2 == 0:
print(i)
i = i + 1
Wenn Sie diesen genügend lange anschauen, finden Sie sicher unschwer heraus, was er tut.
Der Code gibt alle geraden Zahlen zwischen 0 und 10 aus. Prozeduren erlauben uns nun diese Berechnung zu abstrahieren und dieser Abstraktion einen Namen zu geben.
Wir machen dies mit einem neuen Schlüsselwort def
welches eine Abkürzung für das Wort define (also definieren) ist.
def print_even_numbers_smaller_ten():
n = 10
i = 0
while i < 10:
if i % 2 == 0:
print(i)
i = i + 1
An diesem Beispiel können wir die Regeln für die Definition einer Prozedur gut erkennen. Die Definition verläuft nach dem folgenden Schema:
def NAME():
CODEBLOCK
Nach dem Schlüsselwort def
können wir einen beliebigen Namen für die Prozedur wählen. Danach müssen wir die runden Klammern schreiben.
Wie in der if- und der while-Anweisung endet die Definition mit einem :
dem dann der eigentliche Code in Form eines Codeblocks folgt.
Um den in der Prozedur definierten Code auszuführen, schreiben wir einfach den Namen der Prozedur, gefolgt von runden Klammern.
print_even_numbers_smaller_ten()
Am besten Sie probieren dies gleich praktisch aus:
Experimente
- Ändern Sie die Prozedur so, dass die Zahlen auf eine Zeile ausgegeben werden.
- Schreiben Sie eine zweite Prozedur, welche nur die ungeraden Zahlen kleiner als 10 auf eine Zeile ausgibt.
- Rufen Sie die zwei Prozeduren abwechselnd je zweimal auf und dann jede der Prozedur zweimal hintereinander.
- Überlegen Sie sich wie viel mehr Codezeilen Sie gebraucht hätten, wenn Sie dieselbe Ausgabe der acht Zeilen ohne Prozeduren hätten ausgeben müssen.
Fragen und Kommentare
Haben Sie Fragen oder Kommentare zu diesem Artikel? Nutzen Sie das Forum und helfen Sie sich und Ihren Mitstudierenden dieses Thema besser zu verstehen.