Parameterlose Prozeduren
Die einfachste Form von Prozeduren sind die Parameterlosen Prozeduren. Parameterlose Prozeduren dienen dazu, einer Folge von Anweisungen einen Namen zu geben, so dass 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 Klammer.
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 ein zweite Prozedur welche nur die ungeraden Zahlen kleiner als 10 auf eine Zeile ausgibt.
- Rufen Sie die zwei Methoden abwechselnd je 2 mal auf und dann jede der Methoden zwei mal hinter einander.
- Überlegen Sie sich wie viel mehr Codezeilen Sie gebraucht hätten, wenn Sie die selbe 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.