Название: Routineaufgaben mit Python automatisieren
Автор: Al Sweigart
Издательство: Bookwire
Жанр: Математика
isbn: 9783960889571
isbn:
Das ähnelt dem Prinzip, dass auch die Variablen im Programm nach Beendigung des Programms vergessen werden. Weiter hinten in diesem Kapitel werde ich im Zusammenhang mit dem lokalen Gültigkeitsbereich von Funktionen noch ausführlicher darauf eingehen.
Terminologie
Die Begriffe definieren, aufrufen, übergeben, Argument und Parameter haben genau festgelegte Bedeutungen. Sehen wir uns das anhand eines Codebeispiels an:
def sayHello(name):
print('Hello, ' + name)
sayHello('Al')
Eine Funktion zu definieren bedeutet, sie zu erstellen – auf ähnliche Weise, wie Sie mit einer Zuweisung wie spam = 42 die Variable spam anlegen. Mit der def-Anweisung bei
Man kann diese Begriffe leicht verwechseln, es ist aber wichtig, dass Sie den Überblick behalten, denn dadurch ist sichergestellt, dass Sie die Bedeutung des Textes in diesem Kapitel verstehen.
Rückgabewerte und die Anweisung return
Wenn Sie die Funktion len() aufrufen und ihr ein Argument wie 'Hello' übergeben, wird der Funktionsaufruf zur Länge des übergebenen Strings ausgewertet, hier also zu dem Integerwert 5. Der Wert, zu dem ein Funktionsaufruf ausgewertet wird, ist der sogenannte Rückgabewert der Funktion.
Wenn Sie mit def eine eigene Funktion erstellen, können Sie mithilfe der Anweisung return festlegen, was der Rückgabewert sein soll. Eine return-Anweisung weist folgende Bestandteile auf:
Das Schlüsselwort return
Den Wert oder Ausdruck, den die Funktion zurückgeben soll
Wenn Sie in der return-Anweisung einen Ausdruck angeben, ist der Rückgabewert der Wert, zu dem dieser Ausdruck ausgewertet wird. Betrachten Sie als Beispiel das folgende Programm, das je nachdem, welche Zahl als Argument übergeben wird, einen anderen String zurückgibt. Geben Sie den folgenden Code in den Dateieditor ein und speichern Sie ihn als magic8Ball.py:
import random
def getAnswer(answerNumber):
if answerNumber == 1:
return 'It is certain'
elif answerNumber == 2:
return 'It is decidedly so'
elif answerNumber == 3:
return 'Yes'
elif answerNumber == 4:
return 'Reply hazy try again'
elif answerNumber == 5:
return 'Ask again later'
elif answerNumber == 6:
return 'Concentrate and ask again'
elif answerNumber == 7:
return 'My reply is no'
elif answerNumber == 8:
return 'Outlook not so good'
elif answerNumber == 9:
return 'Very doubtful'
r = random.randint(1, 9)
fortune = getAnswer(r)
print(fortune)
Die Ausführung dieses Programms können Sie sich auf https://autbor.com/magic-8ball.py/ ansehen. Zu Beginn importiert Python das Modul random (
Als Nächstes wird die Funktion getAnswer() mit r als Argument aufgerufen (
Da Sie Rückgabewerte als Argumente an andere Funktionsaufrufe übergeben können, lassen sich die drei folgenden Zeilen auch abkürzen:
r = random.randint(1, 9)
fortune = getAnswer(r)
print(fortune)
Die folgende einzelne Zeile macht genau das Gleiche:
print(getAnswer(random.randint(1, СКАЧАТЬ