Funktionen ohne In- und Output#

Für die Definition einer eigenen Funktion, benötigen wir die untige allgemeine Syntax. Wir schauen uns zunächst die einfachste Form einer Funktion an: eine Funktion ohne expliziten Input und ohne expliziten Output.

def FUNCTION_NAME():    # Funktionskopf
    DO_SOMETHING        # Funktionsrumpf

Mit dem Schlüsselwort def signalisieren wir Python: “hier kommt eine Funktionsdefinition”. Danach folgt der Name der Funktion, welchen wir wie bei der Definition von Variablen (fast) beliebig auswählen dürfen. Nach dem Name der Funktion folgen runde Klammern und ein Doppelpunkt. Wenn die Funktion einen Input haben soll, dann könnten wir innerhalb der runden Klammern diesen Input definieren. Diese Zeile, die mit def beginnt, nennt man auch den Funktionskopf. Unter dem Funktionskopf folgt der Funktionsrumpf. Der Funktionsrumpf ist ein eingerückter Code-Block, welcher der funktionale Kern und eigentlicher Inhalt einer Funktion ist. Dieser Code-Block wird immer dann ausgeführt, wenn die Funktion aufgerufen wird.

Ein Beispiel: Im Folgenden definiere ich die Funktion say_hello(), die nichts anderes macht als den String "hello world" in der Konsole anzuzeigen.

def say_hello():
    print("hello world")

Führt man den obigen Code aus, passiert zunächst nichts sichtbares. Wir haben die Funktion nur definiert, aber noch nicht ausgeführt. Zur Ausführung der Funktion muss man, wie wir bereits von anderen Funktionen kennen, den Funktionsnamen inklusive der runden Klammern eingeben:

say_hello()
hello world

Mit der Funktion say_hello() können wir nun das machen, wofür wir sonst den Code print("hello world") gebraucht hätten. Das bringt uns an dieser Stelle noch nicht wirklich viel, zeigt aber, wie man Code in einer Funktion verpacken kann, um diesen später praktischerweise immer wieder verwenden zu können. Oben packen wir zwar nur eine Zeile Code in die Funktion, theoretisch kann der Code innerhalb einer Funktion aber beliebig kompliziert sein.

Unten “verkompliziere” ich den Code etwas und definiere eine Funktion say_hello_twice(), welche mittels For-Loop zwei mal "hello world" anzeigt.

def say_hello_twice():
    for i in range(2):
        print("hello world")

Nach der Definition führe ich sie jetzt aus:

say_hello_twice()
hello world
hello world