Funktionen teilen unseren Code in nützliche Blöcke ein, womit wir unseren Code lesbarer machen und denselben Code abgekürzt wiederverwendbar machen können.

Wir kennen alle Funktionen in Python. Mit print() können wir Texte ausgeben und mit max() finden wir den größten Wert in einer Liste. Praktischerweise sind das schon vorgefertigte Funktionen. Wir können auch eigene erstellen. 

Wie sind Funktionen aufgebaut?

def funktionsname(input):
	befehl 
  1. Am Anfang setzen wir das Keyword def
  2. Es folgt ein selbst ausgedachter Name unserer Funktion, welche den gesamten Code innerhalb der Funktion kurz und knapp erklären soll
  3. Innerhalb der Klammern setzen wir Inputs ein (falls notwendig)
  4. Am Ende des Funktionsheaders steht ein Doppelpunkt. Alles was darauf innerhalb der Funktion ablaufen soll, muss mit 4 Leerzeichen oder einem Tab eingerückt sein.
  5. Alle Befehle der Funktion werden eingerückt eingegeben
  6. Falls notwendig kann man mit dem Keyword return eine Variable, die die Funktion erstellt hat, wiedergeben.
def gruss(vorname):
	print(f"Hallo, ich bin {vorname}!") 

Wie ruft man Funktionen ab?

Wenn du den oberen Codeschnipsel in Python eingibst, wirst du logischerweise keinen Output erhalten – das ist nur die Blaupause. Zum Abrufen einer Funktion gibt man den Funktionsnamen ein und gibt in die Klammern alle notwendigen Input-Parameter ein.

gruss("Yosef")

### Output:
# Hallo, ich bin Yosef! 

Das können wir so oft machen wie wir möchten. Wenn du also Code hast und alle paar Zeilen den Leser grüßen möchtest, kannst du das so machen.

Wann sind eigene Funktionen sinnvoll?

Wenn ein Code-Block eine konkrete Aufgabe hat, ist es in der Regel ordentlicher, wenn man ihn in einer Funktion aufschreibt. Mit einem selbsterklärenden Funktionsnamen kann jeder, der den Code liest, leicht nachvollziehen, was an welcher Stelle passiert. Häufig möchte man auch nur eine gewisse Stelle genauer analysieren. Mit der Einteilung in Funktionen kann man viel schneller unwichtige Code-Blöcke überspringen, ohne sich reindenken zu müssen.

Am wichtigsten sind Funktionen, wenn der Code öfter benutzt wird. Damit erspart man sich duplizierten Code und kürzt den Code auf das Wesentliche.

Ich denke die wenigsten interessiert die Formel zur Berechnung einer Standardabweichung. Solange numpy.std() funktioniert und wir die Formel nicht selbst in eine Python-Funktion umwandeln müssen, sind alle glücklich.

Ein häufiger Fehler mit Funktionen: Lokale und Globale Variablen

Man muss sich Funktionen und den allgemeinen Code getrennt anschauen. Wird innerhalb einer Funktion eine Variable festgelegt (z.B. x = 10), gilt das nur innerhalb der Funktion (local), nicht aber in unserem auszuführenden Code (global). Die Funktion „funktioniert“ also nicht so, wie wir es wollen.

def funktion():
    x = 10
    
x = 20
funktion()
print(x)
	
### Output:
>>> 20 

Wenn wir das x in der Funktion ausgeben möchten, können wir ganz einfach in der Funktion x als globale Variable festlegen:

def funktion():
    global x
    x = 10
    
x = 20
funktion()
print(x)

### Output:
>>> 10 

ARTIKEL TEILEN

Hast du Fragen? Hinterlasse einen Kommentar!