Funktionen in Python

Eine Funktion ist ein Codebereich, der nur durchlaufen wird, wenn dieser explizit aufgerufen wird.

Dafür muss eine Funktion ganz am Anfang des Programms programmiert werden.

Das hat zum Vorteil, dass man den Code wiederverwenden/öfters aufrufen kann bzw. das Programm klar strukturiert ist.

Einer Funktion kann man Daten in Form von Parameter übergeben.

Eine Funktion kann aber auch Daten an den Aufrufer zurückliefern (retournieren). Definition einer Funktion

Um eine Funktion zu definieren benötigt man das Schlüsselwort def:

def my_function():
  print("Hello from a function")

Aufruf einer Funktion

Um eine Funktion aufzurufen, gibt man den Funktionsnamen inkl. Klammern z.B.: my_function() an.

Das Programm springt dann in die Funktion und führt den dort beinhalteten Code aus.

def my_function():
  print("Hello from a function")
 
my_function()

Argumente

Informationen können mittels Argumente/Parameter an die Funktion übergeben werden.

Argumente werden innerhalb den Klammern angegeben. Man kann beliebig viele Argumente mit Komma getrennt übergeben.

In dem nachstehenden Beispiel wird an die Funktion gibdennamenaus eine Variable namens vorname übergeben.

Im Aufruf kann man dann anstelle der Variable einen Namen reinschreiben, der an die Funktion übergeben wird.

Somit wird in der Funktion dann z.B.: Hallo Emil ausgegeben. Je nachdem, welchen Namen man übergeben hat.

def gibdennamenaus(vorname):
  print("Hallo " + vorname)
 
gibdennamenaus("Emil")
gibdennamenaus("Tobias")
gibdennamenaus("Linus")
 
#OUTPUT
Hallo Emil
Hallo Tobias
Hallo Linus

Beispiel Quadratberechnung

#Funktion QuadratFlaeche mit Argument seite
def QuadratFlaeche(seite):
    flaeche=seite*seite
    print("Flaeche = ",seite,"*",seite,"=",flaeche)
 
#Funktion QuadratUmfang mit Argument seite
def QuadratUmfang(seite):
    umfang=4*seite
    print("Umfang = ", "4 *",seite, "=", umfang)
 
#Eingabe der Seitenlänge
a=float(input("Geben Sie die Seitenlänge des Quadrats ein: "))
 
#Aufruf der Funktionen
QuadratFlaeche(a)
QuadratUmfang(a)