Название: Routineaufgaben mit Python automatisieren
Автор: Al Sweigart
Издательство: Bookwire
Жанр: Математика
isbn: 9783960889571
isbn:
Denken Sie daran, dass die booleschen Operatoren and, or und not immer auf den booleschen Werten True und False operieren. Ausdrücke wie 4 < 5 sind zwar selbst keine booleschen Werte, werden aber zu booleschen Werten ausgewertet. Versuchen Sie, einige boolesche Ausdrücke mit Vergleichsoperatoren in die interaktive Shell einzugeben:
>>> (4 < 5) and (5 < 6)
True
>>> (4 < 5) and (9 < 6)
False
>>> (1 == 2) or (2 == 2)
True
Der Computer wertet als Erstes den linken und dann den rechten Ausdruck aus. Wenn er die booleschen Werte für beide Ausdrücke kennt, wertet er den Gesamtausdruck zu einem einzigen booleschen Wert aus. Den Auswertungsvorgang für (4 < 5) and (5 < 6) können Sie sich wie folgt vorstellen:
In einem Ausdruck können Sie auch mehrere boolesche Operatoren sowie Vergleichsoperatoren verwenden:
>>> 2 + 2 == 4 and not 2 + 2 == 5 and 2 * 2 == 2 + 2
True
Ebenso wie für arithmetische Operatoren gibt es auch eine Verarbeitungsreihenfolge für boolesche Operatoren. Nachdem alle arithmetischen und Vergleichsoperatoren ausgewertet wurden, verarbeitet Python als Erstes not, danach die and- und schließlich die or-Operatoren.
Elemente zur Flusssteuerung
Die meisten Flusssteuerungsanweisungen beginnen mit einer Bedingung, auf die ein Codeblock folgt, die sogenannte Klausel. Bevor Sie die einzelnen Flusssteuerungsanweisungen in Python kennenlernen, sehen wir uns an, was Bedingungen und Codeblöcke eigentlich sind.
Bedingungen
Alle bisher vorgestellten booleschen Ausdrücke können auch als Bedingungen betrachtet werden. Eine Bedingung ist eine Art von Ausdruck im Zusammenhang mit Flusssteuerungsanweisungen. Bedingungen werden immer zu einem booleschen Wert ausgewertet, also zu True oder False, auf deren Grundlage die Flusssteuerungsanweisung dann entscheidet, was zu tun ist. Fast alle Flusssteuerungsanweisungen greifen auf eine Bedingung zurück.
Codeblöcke
In Python können Codezeilen zu Blöcken gruppiert werden. Wo ein Blick anfängt und wo er endet, können Sie an den Einrückungen der Codezeilen erkennen. Es gibt die folgenden drei Regeln für Blöcke:
Ein Block beginnt, wenn die Codezeilen weiter eingerückt werden.
Blöcke können andere Blöcke einschließen.
Ein Block endet, wenn die Einrückung auf null oder auf die Einrückung des einschließenden Blocks zurückgeht.
Das Prinzip von Blöcken lässt sich leichter verstehen, wenn Sie sich eingerückten Code ansehen. Suchen Sie die Blöcke in diesem Programmausschnitt:
name = 'Mary'
password = 'swordfish'
if name == 'Mary':
print('Hello, Mary')
if password == 'swordfish':
print('Access granted.')
else:
print('Wrong password.')
Die Ausführung dieses Programms können Sie sich auf https://autbor.com/blocks/ ansehen. Der erste Codeblock (
Programmausführung
Im Programm hello.py aus dem vorigen Kapitel hat Python mit der Ausführung der Anweisungen am Anfang des Programms begonnen und sich dann eine Anweisung nach der anderen vorgearbeitet. Wenn Sie den Quellcode auf Papier ausgeben und mit dem Finger den Zeilen folgen, während sie abgearbeitet werden, markiert Ihr Finger jeweils die Stelle, bei der die Programmausführung gerade angekommen ist.
Kaum ein Programm wird jedoch einfach dadurch ausgeführt, dass die Anweisungen in einer Reihe nacheinander abgearbeitet werden. Wenn Sie mit Ihrem Finger ein Programm nachvollziehen, das Flusssteuerungsanweisungen enthält, werden Sie je nach den vorliegenden Bedingungen hierhin und dorthin springen und ganze Klauseln auslassen.
Flusssteuerungsanweisungen
Sehen wir uns nun die wichtigsten Bestandteile der Flusssteuerung an, nämlich die Anweisungen dafür. Sie entsprechen den Rauten in dem Flussdiagramm aus Abb. 2–1 und sind die Stellen, an denen das Programm Entscheidungen trifft.
If-Anweisungen
Die am häufigsten verwendete Flusssteuerungsanweisung ist die if-Anweisung. Ihre Klausel (also der Block, der auf die Bedingung folgt) wird ausgeführt, wenn die Bedingung True ist, anderenfalls wird sie übersprungen.
In einfachem Deutsch kann eine if-Anweisung wie folgt formuliert werden: »Wenn diese Bedingung wahr ist, dann führe den Code in der Klausel aus.« In Python besteht eine if-Anweisung immer aus folgenden Elementen:
Dem Schlüsselwort if
Einer Bedingung (einem Ausdruck, der zu True oder False ausgewertet wird)
Einem Doppelpunkt
Einem eingerückten Codeblock (die if-Klausel), der in der nächsten Zeile beginnt
СКАЧАТЬ