Routineaufgaben mit Python automatisieren. Al Sweigart
Чтение книги онлайн.

Читать онлайн книгу Routineaufgaben mit Python automatisieren - Al Sweigart страница 28

Название: Routineaufgaben mit Python automatisieren

Автор: Al Sweigart

Издательство: Bookwire

Жанр: Математика

Серия:

isbn: 9783960889571

isbn:

СКАЧАТЬ Operatoren verwenden.

      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:

image

      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') image

      if password == 'swordfish':

      print('Access granted.') image

      else:

      print('Wrong password.') image

      Die Ausführung dieses Programms können Sie sich auf https://autbor.com/blocks/ ansehen. Der erste Codeblock (image) beginnt mit der Zeile print('Hello, Mary') und enthält alle darauf folgenden Codezeilen. In diesem Block gibt es einen weiteren Block (image), der nur aus einer einzigen Zeile besteht, nämlich print('Access granted.'). Der dritte Block ist (image) ist ebenfalls nur eine Zeile lang: print('Wrong password.').

       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

СКАЧАТЬ