Grundlagen von Funktionen in Python
Funktionen sind das Rückgrat jedes Python-Programms. Sie helfen, Code zu strukturieren, Wiederholungen zu vermeiden und modulare, wiederverwendbare Lösungen zu erstellen.
Viele Anfänger und auch erfahrene Entwickler stehen vor wichtigen Fragen bei der Arbeit mit Python-Funktionen. Wie übergibt man Argumente richtig? Was sind globale Variablen und wie arbeitet man mit ihnen? Wozu braucht man Dekorateure und wie verwendet man global? Wie gibt man mehrere Werte aus einer Funktion zurück?
Definition und Syntax von Python-Funktionen
Was ist eine Funktion in Python?
Eine Funktion ist ein benannter Code-Block, der mehrfach aufgerufen werden kann. Funktionen werden in Python mit dem Schlüsselwort def erstellt.
Deklaration und Aufruf von Funktionen
Die Deklaration einer Funktion erfolgt wie folgt:
def greet():
print("Hallo, Welt!")
Der Aufruf der Funktion erfolgt über ihren Namen:
greet()
Python-Funktionen können verschiedene Anweisungen, Bedingungen, Schleifen und andere Sprachkonstrukte enthalten. Eine korrekte Definition von Funktionen trägt zu lesbarem und strukturiertem Code bei.
Argumente von Funktionen in Python
Positionsargumente
Positionsargumente werden in der Reihenfolge an die Funktion übergeben, in der sie definiert sind:
def greet(name):
print(f"Hallo, {name}!")
greet("Anna")
Bei der Verwendung von Positionsargumenten ist es wichtig, die richtige Reihenfolge der Parameterübergabe einzuhalten.
Standardargumente
Standardargumente erlauben es, Werte für Parameter festzulegen, die verwendet werden, wenn kein Argument übergeben wird:
def greet(name="Gast"):
print(f"Hallo, {name}!")
greet() # Hallo, Gast!
Die Verwendung von Standardargumenten erhöht die Flexibilität von Funktionen und reduziert die Anzahl der erforderlichen Parameter.
Schlüsselwortargumente
Schlüsselwortargumente werden mit Angabe des Parameternamens übergeben:
def order(item, quantity):
print(f"Sie haben {quantity} {item} bestellt")
order(item="Pizza", quantity=2)
Schlüsselwortargumente machen den Code lesbarer und erlauben die Übergabe von Parametern in beliebiger Reihenfolge.
Variable Anzahl von Argumenten
Python unterstützt die Übergabe einer unbestimmten Anzahl von Argumenten mit *args und **kwargs:
def summation(*args):
print(sum(args))
summation(1, 2, 3, 4) # 10
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="Max", age=30)
Die Konstruktion *args nimmt eine beliebige Anzahl von Positionsargumenten entgegen. Die Konstruktion **kwargs nimmt eine beliebige Anzahl von Schlüsselwortargumenten entgegen.
Rückgabe von Werten aus Python-Funktionen
Grundlagen der return-Anweisung
Funktionen können Ergebnisse mit der return-Anweisung zurückgeben. Dies ermöglicht die Verwendung des Funktionsergebnisses in anderen Teilen des Programms:
def add(a, b):
return a + b
result = add(5, 3)
print(result) # 8
Die return-Anweisung beendet die Ausführung der Funktion und übergibt die Kontrolle an die aufrufende Stelle.
Rückgabe mehrerer Werte
Python erlaubt die gleichzeitige Rückgabe mehrerer Werte:
def get_coordinates():
return 10, 20
x, y = get_coordinates()
Technisch gesehen gibt Python ein Tupel zurück, das dann in einzelne Variablen entpackt werden kann. Dies ist eine praktische Methode, um mehrere Ergebnisse von einer Funktion zu erhalten.
Besonderheiten bei der Arbeit mit return
Wenn eine Funktion keine return-Anweisung enthält, gibt sie automatisch None zurück. Dies ist wichtig zu beachten, wenn Sie den Rückgabewert einer Funktion weiterverwenden möchten.