8.1 Der return
-Operator
In Python spielt der return
-Operator eine zentrale Rolle in Funktionen,
da er es ermöglicht, dass eine Funktion ihren Wert zurückgibt. Das Verständnis seiner
Verwendung ist wichtig für die effektive Entwicklung von Software.
Der Operator return
beendet die Ausführung einer Funktion und „gibt“
das Ergebnis an den aufrufenden Code zurück. Wenn eine Funktion ein Ergebnis liefern soll, das
weiterverwendet wird, wird return
verwendet.
Rückgabe eines Wertes
Funktionen können jeden Datentyp zurückgeben, einschließlich Zahlen, Strings, Objekten,
sogar andere Funktionen und None
. Ein Beispiel:
def sum(a, b):
return a + b
result = sum(5, 3)
print(result) # Gibt 8 aus
Das Ergebnis der Addition a + b
kann einer Variablen result
zugewiesen werden.
Rückgabe mehrerer Werte
Python erlaubt es, mehrere Werte aus einer Funktion zurückzugeben, indem Tuples verwendet werden:
def get_user():
name = "Ivan"
age = 25
return name, age
user_name, user_age = get_user()
print(user_name, user_age) # Gibt Ivan 25 aus
Verwendung von return
, um eine Funktion zu beenden
Der Operator return
kann auch verwendet werden, um eine Funktion
sofort zu beenden, einschließlich Schleifen oder bedingter Blöcke innerhalb der Funktion:
def check_password(pswd):
if len(pswd) < 8:
return "Passwort ist zu kurz"
return "Passwort akzeptiert"
return
ohne Wert
Wenn return
ohne Wert verwendet wird oder ganz weggelassen wird, gibt die Funktion
None
zurück:
def print_message(text):
print(text)
return
result = print_message("Hallo")
print(result) # Gibt None aus
Der return
-Operator ist ein leistungsstarkes Werkzeug in Python,
das Flexibilität bei der Ablaufsteuerung eines Programms bietet. Er ermöglicht es
Funktionen, nicht nur Werte zur weiteren Verwendung zurückzugeben,
sondern auch die Logik des Ablaufs zu steuern, was den Code klarer und
leichter verständlich macht.
8.2 Der pass
-Operator
In Python gibt es einen speziellen Operator — pass
, der nichts tut.
Der Operator pass
wird als Platzhalter in Codeblöcken verwendet,
bei denen inhaltlich etwas erforderlich ist, funktional jedoch noch nicht definiert wurde
(es muss irgendein Code da sein, aber man hat noch keine konkrete Idee).
Das ist besonders nützlich in Fällen, in denen man an einem großen Projekt arbeitet und
das Programm strukturieren möchte, ohne dass es irgendwelche Operationen ausführt.
Hier sind einige Beispiele für die Verwendung von
pass
.
In Funktionsdefinitionen:
def my_function():
pass
Hier wird pass
verwendet, um eine Funktion zu definieren, die noch keine
Implementierung hat.
In Schleifen und Bedingungen:
for item in my_list:
pass
Wenn man eine Schleife erstellen muss, aber keine Aktionen innerhalb der Schleife ausführen möchte.
In Klassen:
Definition einer Klasse ohne Methoden und Attribute, um den Namen und die Struktur der Klasse für die zukünftige Verwendung zu reservieren.
Der Operator pass
wird häufig während der Entwicklung und des Testens verwendet,
wenn die Struktur des Programms bereits klar ist, aber die Details der Implementierung einzelner
Komponenten noch nicht definiert sind. Dies ermöglicht es dem Programmierer,
den Code zu organisieren und allmählich Funktionalität hinzuzufügen, ohne die
Funktion des gesamten Programms zu beeinträchtigen.
8.3 Rückgabe einer Funktion
In Python ist die Fähigkeit, dass eine Funktion eine andere Funktion zurückgibt, ein leistungsstarkes Werkzeug, dank der Unterstützung von Closures* und Funktionen erster Klasse. Diese Sprachfunktion ermöglicht es, flexible und ausdrucksstarke Programme zu schreiben, indem Konzepte wie Dekoratoren* und Fabrikfunktionen* verwendet werden.
In Python sind Funktionen Objekte, was bedeutet, dass sie Variablen zugewiesen, an andere Funktionen als Argumente übergeben oder als Ergebnisse zurückgegeben werden können. Diese Fähigkeit macht Funktionen zu besonders leistungsstarken Werkzeugen für die Erstellung von modularem und leicht testbarem Code.
Lass uns als Beispiel eine Funktion erstellen, die uns Funktionen zum Potenzieren erstellt. Eine Funktion wird quadrieren, eine andere wird kubieren usw. So könnte dieser Code aussehen:
def power(exponent):
def inner(base):
return base ** exponent
return inner
square = power(2)
print(square(3)) # Gibt 9 aus
cube = power(3)
print(cube(3)) # Gibt 27 aus
Beachte — die Funktion power
ruft die Funktion
inner
nicht auf. Stattdessen wird innerhalb der Funktion
power
die Funktion
inner
mit einem Parameter base
definiert. Doch
die Funktion inner
wird nicht nur definiert, sie verwendet auch den Parameter
exponent
in ihrem Inneren.
GO TO FULL VERSION