CodeGym /Java Kurs /Python SELF DE /Rückgabewert

Rückgabewert

Python SELF DE
Level 6 , Lektion 2
Verfügbar

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.

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION