Einführung
In diesem Lab lernen Sie, wie Sie prüfen können, ob eine Funktion in Python None zurückgibt. Das Lab führt Sie durch das Verständnis von Funktionsrückgabewerten, indem Sie ein einfaches Python-Skript mit einer Funktion erstellen, die die Summe zweier Zahlen zurückgibt. Anschließend führen Sie das Skript aus und beobachten die Ausgabe.
Das Lab geht dann weiter, indem es die Funktion so ändert, dass sie verschiedene Datentypen zurückgibt, und konzentriert sich schließlich auf Szenarien, in denen eine Funktion möglicherweise keinen expliziten Rückgabewert hat, was zu einem None-Rückgabewert führt. Sie lernen, wie Sie den Rückgabewert einer Funktion erfassen und dann prüfen, ob dieser Wert None ist, indem Sie den is-Operator verwenden.
Funktionsrückgabewerte kennenlernen
In diesem Schritt lernen Sie über Funktionsrückgabewerte in Python. Funktionen sind wiederverwendbare Codeblöcke, die bestimmte Aufgaben ausführen. Oft möchten Sie, dass eine Funktion Ihnen nach Abschluss ihrer Arbeit ein Ergebnis zurückgibt. Dieses Ergebnis wird Rückgabewert genannt.
Beginnen wir damit, ein einfaches Python-Skript zu erstellen, das eine Funktion mit einem Rückgabewert definiert.
Öffnen Sie den VS Code-Editor in der LabEx-Umgebung.
Erstellen Sie eine neue Datei mit dem Namen
calculate.pyim Verzeichnis~/project.~/project/calculate.pyFügen Sie den folgenden Code in die Datei
calculate.pyein:def add(x, y): """This function adds two numbers and returns the result.""" sum = x + y return sum ## Call the function and print the returned value result = add(5, 3) print(result)In diesem Code:
- Wir definieren eine Funktion namens
add, die zwei Argumente,xundy, akzeptiert. - Innerhalb der Funktion berechnen wir die Summe von
xundyund speichern sie in einer Variablen namenssum. - Die Anweisung
return sumgibt an, dass die Funktion den Wert vonsumzurückgeben soll, wenn sie aufgerufen wird. - Außerhalb der Funktion rufen wir die Funktion
addmit den Argumenten5und3auf und speichern den zurückgegebenen Wert in einer Variablen namensresult. - Schließlich verwenden wir die Funktion
print(), um den Wert vonresultanzuzeigen.
- Wir definieren eine Funktion namens
Speichern Sie die Datei
calculate.py.Öffnen Sie ein Terminal in der WebIDE.
Führen Sie das Skript mit dem folgenden Befehl aus:
python calculate.pySie sollten die folgende Ausgabe sehen:
8Diese Ausgabe zeigt, dass die Funktion
adddie Summe von 5 und 3 korrekt berechnet und den Wert 8 zurückgegeben hat, der dann in der Konsole ausgegeben wurde.
Lassen Sie uns nun die Funktion so ändern, dass sie einen anderen Werttyp, wie z. B. einen String, zurückgibt.
Öffnen Sie die Datei
calculate.pyin VS Code.Ändern Sie den Code wie folgt:
def greet(name): """This function returns a greeting message.""" message = "Hello, " + name + "!" return message ## Call the function and print the returned value greeting = greet("LabEx User") print(greeting)In diesem Code:
- Wir definieren eine Funktion namens
greet, die ein Argument,name, akzeptiert. - Innerhalb der Funktion erstellen wir eine Begrüßungsnachricht, indem wir die Zeichenkette "Hello, ", den Wert des Arguments
nameund die Zeichenkette "!" verketten. - Die Anweisung
return messagegibt an, dass die Funktion die Begrüßungsnachricht zurückgeben soll. - Außerhalb der Funktion rufen wir die Funktion
greetmit dem Argument"LabEx User"auf und speichern den zurückgegebenen Wert in einer Variablen namensgreeting. - Schließlich verwenden wir die Funktion
print(), um den Wert vongreetinganzuzeigen.
- Wir definieren eine Funktion namens
Speichern Sie die Datei
calculate.py.Führen Sie das Skript erneut mit dem folgenden Befehl aus:
python calculate.pySie sollten die folgende Ausgabe sehen:
Hello, LabEx User!Diese Ausgabe zeigt, dass die Funktion
greeteine Begrüßungsnachricht korrekt erstellt und zurückgegeben hat, die dann in der Konsole ausgegeben wurde.
Den Rückgabewert erfassen
Im vorherigen Schritt haben Sie gelernt, wie Sie Funktionen definieren, die Werte zurückgeben. Jetzt lernen Sie, wie Sie diese Rückgabewerte in Ihren Programmen erfassen und nutzen können. Das Erfassen des Rückgabewerts bedeutet, den von einer Funktion zurückgegebenen Wert in einer Variablen zu speichern, damit Sie ihn später verwenden können.
Setzen wir mit der Datei calculate.py fort, die Sie im vorherigen Schritt erstellt haben. Wir werden das Skript ändern, um weitere Operationen auszuführen und die Rückgabewerte zu erfassen.
Öffnen Sie die Datei
calculate.pyin VS Code.Ändern Sie den Code wie folgt:
def add(x, y): """This function adds two numbers and returns the result.""" sum = x + y return sum def subtract(x, y): """This function subtracts two numbers and returns the result.""" difference = x - y return difference ## Call the functions and capture the return values num1 = 10 num2 = 5 sum_result = add(num1, num2) print("The sum of", num1, "and", num2, "is:", sum_result) difference_result = subtract(num1, num2) print("The difference between", num1, "and", num2, "is:", difference_result)In diesem Code:
- Wir definieren zwei Funktionen:
addundsubtract. - Wir rufen die Funktion
addmit den Argumentennum1undnum2auf und speichern den zurückgegebenen Wert in einer Variablen namenssum_result. - Wir rufen die Funktion
subtractmit den Argumentennum1undnum2auf und speichern den zurückgegebenen Wert in einer Variablen namensdifference_result. - Wir verwenden die Funktion
print(), um die Werte vonsum_resultunddifference_resultzusammen mit beschreibendem Text anzuzeigen.
- Wir definieren zwei Funktionen:
Speichern Sie die Datei
calculate.py.Führen Sie das Skript mit dem folgenden Befehl aus:
python calculate.pySie sollten die folgende Ausgabe sehen:
The sum of 10 and 5 is: 15 The difference between 10 and 5 is: 5Diese Ausgabe zeigt, dass wir die Rückgabewerte der Funktionen
addundsubtracterfolgreich erfasst und in unserem Programm verwendet haben.
Jetzt erstellen wir ein komplexeres Beispiel, in dem wir den Rückgabewert einer Funktion als Argument für eine andere Funktion verwenden.
Öffnen Sie die Datei
calculate.pyin VS Code.Ändern Sie den Code wie folgt:
def add(x, y): """This function adds two numbers and returns the result.""" sum = x + y return sum def multiply(x, y): """This function multiplies two numbers and returns the result.""" product = x * y return product ## Call the functions and capture the return values num1 = 5 num2 = 3 sum_result = add(num1, num2) product_result = multiply(sum_result, 2) ## Use the return value of add as an argument to multiply print("The sum of", num1, "and", num2, "is:", sum_result) print("The product of the sum and 2 is:", product_result)In diesem Code:
- Wir definieren zwei Funktionen:
addundmultiply. - Wir rufen die Funktion
addmit den Argumentennum1undnum2auf und speichern den zurückgegebenen Wert in einer Variablen namenssum_result. - Wir rufen die Funktion
multiplymit den Argumentensum_resultund2auf. Dies zeigt, wie der Rückgabewert vonaddals Eingabe fürmultiplyverwendet werden kann. Wir speichern den zurückgegebenen Wert in einer Variablen namensproduct_result. - Wir verwenden die Funktion
print(), um die Werte vonsum_resultundproduct_resultzusammen mit beschreibendem Text anzuzeigen.
- Wir definieren zwei Funktionen:
Speichern Sie die Datei
calculate.py.Führen Sie das Skript mit dem folgenden Befehl aus:
python calculate.pySie sollten die folgende Ausgabe sehen:
The sum of 5 and 3 is: 8 The product of the sum and 2 is: 16Diese Ausgabe zeigt, dass wir den Rückgabewert einer Funktion erfolgreich als Argument für eine andere Funktion verwendet haben, was die Stärke und Flexibilität von Funktionsrückgabewerten demonstriert.
Prüfen, ob der Rückgabewert None ist
In einigen Fällen gibt eine Funktion möglicherweise nicht immer einen sinnvollen Wert zurück. In solchen Situationen kann sie None zurückgeben. None ist ein spezieller Wert in Python, der die Abwesenheit eines Werts darstellt. Es ist wichtig, zu prüfen, ob eine Funktion None zurückgibt, bevor Sie ihren Rückgabewert verwenden, um Fehler zu vermeiden.
Ändern wir die Datei calculate.py, um eine Funktion einzubeziehen, die möglicherweise None zurückgibt.
Öffnen Sie die Datei
calculate.pyin VS Code.Ändern Sie den Code wie folgt:
def divide(x, y): """This function divides x by y and returns the result. If y is 0, it returns None to avoid division by zero errors. """ if y == 0: return None else: return x / y ## Call the function and check if the return value is None numerator = 10 denominator = 0 result = divide(numerator, denominator) if result is None: print("Cannot divide by zero!") else: print("The result of", numerator, "/", denominator, "is:", result) denominator = 2 result = divide(numerator, denominator) if result is None: print("Cannot divide by zero!") else: print("The result of", numerator, "/", denominator, "is:", result)In diesem Code:
- Wir definieren eine Funktion namens
divide, die zwei Argumente,xundy, akzeptiert. - Innerhalb der Funktion prüfen wir, ob
ygleich 0 ist. Wenn dies der Fall ist, geben wirNonezurück, um einen Fehler bei der Division durch Null zu vermeiden. - Wenn
ynicht 0 ist, berechnen wir das Ergebnis vonx / yund geben es zurück. - Außerhalb der Funktion rufen wir die Funktion
dividemit einem Nenner von 0 auf. - Wir prüfen, ob der zurückgegebene Wert
Noneist, indem wir denis-Operator verwenden. - Wenn der zurückgegebene Wert
Noneist, geben wir eine Fehlermeldung aus. - Andernfalls geben wir das Ergebnis der Division aus.
- Wir rufen dann die Funktion
divideerneut mit einem gültigen Nenner auf und geben das Ergebnis aus.
- Wir definieren eine Funktion namens
Speichern Sie die Datei
calculate.py.Führen Sie das Skript mit dem folgenden Befehl aus:
python calculate.pySie sollten die folgende Ausgabe sehen:
Cannot divide by zero! The result of 10 / 2 is: 5.0Diese Ausgabe zeigt, dass das Programm den Fall, in dem der Nenner 0 war, korrekt behandelt und eine entsprechende Fehlermeldung ausgegeben hat. Sie zeigt auch, dass das Programm das Ergebnis korrekt berechnet und ausgegeben hat, wenn der Nenner nicht 0 war.
Es ist wichtig, den is-Operator zu verwenden, um zu prüfen, ob ein Wert None ist, da None in Python ein Singleton-Objekt ist. Dies bedeutet, dass es in einem gesamten Programm nur eine Instanz von None gibt. Die Verwendung des ==-Operators funktioniert möglicherweise nicht immer korrekt, da er die Werte der Objekte vergleicht, nicht die Objekte selbst.
Zusammenfassung
In diesem Lab haben Sie sich mit Funktionsrückgabewerten in Python vertraut gemacht. Sie haben eine Funktion namens add erstellt, die zwei Argumente entgegennimmt, ihre Summe berechnet und das Ergebnis zurückgibt. Anschließend haben Sie die Funktion aufgerufen, den zurückgegebenen Wert in einer Variablen gespeichert und ihn in der Konsole ausgegeben.
Das Lab hat gezeigt, wie Funktionen Werte unterschiedlicher Typen, wie z. B. Ganzzahlen (integers), zurückgeben können. Dies ermöglicht es Funktionen, Berechnungen oder Operationen durchzuführen und die Ergebnisse an den aufrufenden Code zurückzugeben, um sie weiter zu verwenden.



