Читать книгу Python. Der Sprachkurs für Einsteiger und Individualisten - Willemer Arnold V., Arnold V. Willemer - Страница 5

Kapitel 2 Annäherung an Python

Оглавление

Inhalt

• Python als einfacher, aber mächtiger Einstieg in die Programmierung

• Beschaffung und Installation aller notwendigen Werkzeuge

• Gestaltung und Kommentierung von Python-Programmen

Python ist eine einfache, leicht verständliche Programmiersprache. Damit ist sie ideal für alle, die gern einmal programmieren lernen wollen. Sie gehen nicht ganz zu Unrecht davon aus, dass das wohl alle Programmiersprachen von sich behaupten. Der Erfinder von Python, Guido van Rossum, setzte diese Idee konsequent um, sodass sich sogar eine Art Philosophie daraus entwickelte. Sie finden unter der folgenden URL »The Zen of Python«: http://legacy.python.org/dev/peps/pep-_0020

So besteht das kleinste Programm bei Python tatsächlich aus nur einer Zeile.

print("Hallo Welt!")

Listing 2.1 Hallo Welt auf Python

Es ist inzwischen Tradition, dass Bücher über Programmiersprachen mit einem Programm beginnen, das einen Gruß an die Welt sendet. Die Funktion print() druckt alles, was in ihren Klammern ist. Die Anführungszeichen besagen, dass es sich hier um Text und nicht etwa um Variablen handelt.

Hinweis

Sie stoßen vielleicht auf Python-Programme, in denen hinter print keine Klammern stehen. Tatsächlich war dies in der Version 2 von Python so. Die in diesem Buch behandelte aktuelle Version verwendet bei print Klammern. Da Version 2 an einigen Stellen noch eingesetzt wird, werden Sie von Zeit zu Zeit Hinweise darauf finden.

Ich könnte bei der Gelegenheit noch einmal die Werbetrommel rühren, dass Python trotz seiner Einfachheit extrem leistungsfähig ist. Aber das ist ja gar nicht mehr nötig, schließlich haben Sie vermutlich das Buch schon gekauft und wollen jetzt Python lernen.

Python versteht sich mit fast allen Plattformen. Das fängt bei Linux, Mac und Windows an und hört bei Smartphones auf. Programme in Python zu schreiben, hat also den Charme, dass diese dann auf vielen Plattformen laufen können.

Die Heimat von Python im World Wide Web finden Sie unter www.python.org. Diese ist weitgehend in englischer Sprache gehalten. Aber es gibt auch reichlich deutschsprachige Foren, wo man Ihnen gerne weiterhilft.

2.1 Beschaffung und Installation

Um in Python programmieren zu können, benötigen Sie einen Interpreter. Der ist nicht nur kostenlos, sondern auf Linux- und Mac-Systemen meist sogar bereits fertig installiert. Damit können Sie also schon loslegen, während die Benutzer von Windows sich noch an die Website www.python.org wenden müssen. Aber auch für Mac- und Linux-Benutzer kann sich ein Besuch der Seite lohnen, wenn eine neuere als die mitgelieferte Version benötigt wird.

Download

Auf der Website www.python.org finden Sie einen Menüeintrag namens DOWNLOAD. Wenn Sie diesen aufklappen, finden Sie eine Download-Möglichkeit für Ihr gerade verwendetes Betriebssystem, aber auch einen Verweis auf alle möglichen anderen Systeme, von denen Sie vielleicht noch nie etwas gehört haben.

Wenn Sie dem Download-Button folgen, werden Ihnen nach einigen Rückfragen schließlich diverse Dateien (Files) angeboten werden. Für Windows verwenden Sie am einfachsten den MSI Installer. Auch für die anderen Systeme finden Sie die Standard-Installationsdateien, wie Sie sie auch von anderer Software her kennen.

Die Installationsdateien unterscheiden auch zwischen 32- und 64-Bit-Versionen und Architekturen, wie etwa bei Mac zwischen PPC- und Intel-Geräten. Unter Linux verwenden Sie am besten den eingebauten Software-Manager und suchen dort nach Python. Er wird automatisch die richtige und geprüfte Version für Ihr System heraussuchen.

Nach dem Download der Windows- und Mac-Version erhalten Sie eine für die jeweilige Plattform übliche Installationsdatei. Da Sie ja vermutlich mit der jeweiligen Plattform zumindest als Anwender vertraut sind, dürfte Ihnen die Installation nicht schwerfallen. Sie läuft auch nicht anders als die einer Textverarbeitung oder eines Spiels.


Abb. 2.1 Installation von Python unter Windows


Bei der Windows-Installation können Sie einfach alles bestätigen. Im Dialog CUSTOMIZE sollten Sie beim Stichwort ADD PYTHON.EXE TO PATH einen Haken anbringen (siehe Abbildung 2.1). Danach sehen Sie ein schickes Fortschrittbalkenkino, sofern Sie zuvor angegeben haben, dass Sie einer Installation zustimmen.

2.2 Werkzeug

Für die Python-Programmierung benötigen Sie nicht viel Werkzeug. Prinzipiell reicht Ihnen ein Programm, mit dem Sie Ihre Programme eintippen können, und der Interpreter, den Sie kostenlos herunterladen können, wie in Abschnitt 6 beschrieben. Dazu benötigen Sie eine Kommandozeile, um Editor und Interpreter aufzurufen. Unter Windows heißt diese Eingabeaufforderung, unter Mac und Linux Shell, Konsole oder Terminal.

Da allerdings Eingabeaufforderung und Editor vor allem unter Windows nicht wirklich komfortabel sind, empfiehlt sich für den Anfänger das Programm IDLE, das eine Shell und einen Editor zu einer Arbeitsumgebung vereinigt.

2.2.1 Die Standard-IDE IDLE

Bei Windows und Mac richtet die Python-Installation gleich die Entwicklungsumgebung IDLE ein. Linux stellt Python zwar von Haus aus zur Verfügung. Allerdings muss das Paket idle bei Bedarf nachinstalliert werden. Dazu rufen Sie Ihre Software-Verwaltung auf und suchen nach dem Stichwort IDLE. Wählen Sie INSTALL und das Paket wird in das System integriert.

Das Programm IDLE rufen Sie am einfachsten über das entsprechende Menü der grafischen Oberfläche auf. Unter Windows 8 wird ein eigener Abschnitt Python unter den Apps eingerichtet. Linux legt die IDLE unter der Standardgruppe Entwicklung ab.


Abb. 2.2 Die Python-IDE IDLE


Sie können IDLE auch von der Kommandozeile aus aufrufen. Wird idle in Kombination mit einem Programmnamen aufgerufen, öffnet IDLE den Quelltext in einem kleinen Editor und lädt zum Editieren ein.

Es besitzt eine eigene Menüleiste und darüber können Sie wie bei einer Textverarbeitung Dateien öffnen und speichern. Allerdings wird IDLE meist mit englischen Menüs geliefert, wo das Wort Datei eben File heißt. Mit DATEI | NEU oder FILE | NEW können Sie ein neues Programm anlegen. Dafür erhalten Sie dann ein neues Editor-Fenster. Der Editor ist ideal auf Python zugeschnitten. Er erkennt Programmiersprachenelemente und markiert sie farblich und vervollständigt manchen angefangenen Befehl. Über die Taste oder das Menü RUN | RUN MODULE startet er das eingegebene Programm und zeigt die Ausführung in einem separaten Fenster an.

Das Hauptfenster von IDLE verhält sich ganz ähnlich wie der Python-Interpreter und bietet Ihnen den Prompt mit den drei Größerzeichen an, um Python-Befehle direkt ausprobieren zu können.

Wenn Sie mit IDLE arbeiten wollen, können Sie die folgenden Abschnitte erst einmal überspringen und direkt mit Abschnitt 2.3 weitermachen.

Weitere IDEen

Wenn Sie sich etwas Größeres wünschen, können Sie die IDE Eclipse dazu bringen, mit Python statt mit Java zu arbeiten. Abschnitt B verrät Ihnen, wie das geht.

Als weitere IDE gibt es Spyder, die aus dem naturwissenschaftlichen Umfeld stammt. Nähere Informationen finden Sie unter https://github.com/spyder-_ide. Linux-Benutzer können es direkt über ihren Software-Paketdienst installieren. Andere wenden sich vertrauensvoll an die oben genannte Website.

2.2.2 Direktaufruf von Editor und Interpreter

Viele Python-Programmierer verwenden lieber ihren eigenen Editor und rufen dann den Interpreter entweder aus dem Editor selbst oder eben von einer Kommandozeile aus auf. Auch dieser Weg der Programmierung ist unter Python recht unkompliziert.

Editor

Ein Editor ist eine Textverarbeitung für Arme. Ein Editor beherrscht keine Schriftarten und kann weder mit Bildern noch mit dem Seitenumbruch umgehen. Das ist alles nicht nötig, denn der Interpreter will keine hübschen Texte, sondern knackige Programme. Ein mit einer Textverarbeitung wie Word oder dem Writer aus Libre-Office nett aufbereiteter Programmtext würde den Interpreter total durcheinanderbringen, da er Fettschrift nicht interpretieren kann.

Unter Linux können Sie nano oder vi einsetzen. Unter Windows beispielsweise Notepad, den Sie unter Zubehör unter dem schlichten Namen Editor finden.

Aufruf des Interpreters aus der Kommandozeile

Wenn Ihr Programm fertig ist, können Sie es dem Python-Interpreter zur Ausführung übergeben. Dazu starten Sie eine Kommandozeile und rufen von dort den Python-Interpreter mit dem Befehl python gefolgt vom Programmnamen auf. Der Aufruf der Kommandozeile erfolgt bei den verschiedenen Systemen auf unterschiedliche Methoden. Hier sind ein paar einfache Vorschläge:

• Windows: Hier drücken Sie die Windows-Taste gemeinsam mit der Taste R, also + . Daraufhin erscheint eine Dialogbox, die wissen will, welches Programm Sie aufrufen wollen. Dazu geben Sie den Befehl cmd an und es erscheint ein schwarz gefülltes Fenster, in dem Sie Befehle eingeben können.

• Mac: Sie drücken die Apfel-Taste mit der Leertaste gemeinsam, also + . Es erscheint rechts oben ein Eingabefeld, in das Sie Terminal eintippen. Dann drücken Sie und schon erscheint ein weiß gefülltes Fenster, in dem Sie Befehle eingeben können.

• Linux: Für Linux gibt es eine Vielzahl von grafischen Oberflächen. Je nach Variante finden Sie oft eine Möglichkeit, nach Befehlen zu suchen wie auf dem Mac, oder Sie finden die Programme nach Kategorien sortiert in einem Menü. Suchen Sie nach Terminal oder Konsole unter den Rubriken Zubehör oder System. Auch hier erhalten Sie ein Fenster, in dem Sie Befehle eingeben können.

Als Befehl verwenden Sie python und als Argument übergeben Sie den Namen Ihres Python-Programms, wie hier beispielsweise meinprogramm.py. Sie können eines der Beispiele aus dem ersten Kapitel verwenden, beispielsweise den Tomatendreisatz aus Listing 1.1 in Abschnitt 1.1. Daraufhin startet Ihr Python-Programm und wird vom Python-Interpreter ausgeführt.

python meinprogramm.py

Wenn Sie den Befehl python allein, also ohne Programmnamen aufrufen, landen Sie in der Kommandozeile des Python-Interpreters. Er zeigt drei Größerzeichen als sogenannten Prompt an und wartet auf Ihre Eingaben. Dieser Modus ist sehr praktisch, wenn Sie mal ein paar Befehle testen wollen.

Hinweis

In einigen Umgebungen kann es sein, dass Sie zwei Interpreter an Bord haben, einen für Python 2 und einen für Python 3. Wenn Sie explizit Python 3 verwenden wollen, können Sie python3 statt python aufrufen.

Direkter Aufruf fertiger Programme

Zum Start eines Python-Programms wird immer der Interpreter benötigt. Sie können aber dem Betriebssystem auch beibringen, dass es beim Aufruf Ihres Programms von der Kommandozeile den Interpreter automatisch aufruft. Die Vorgehensweise unterscheidet sich geringfügig.

• Bei Windows können Sie ein Skript, dessen Name auf .py endet, direkt aufrufen, wenn Sie den Pfad des Python-Interpreters in die Variable PATH eingebunden haben. Wenn Sie dies bei der Installation angegeben haben, ist das bereits geschehen.

• Unter Linux und beim Mac können Sie ein Skript mit dem Befehl chmod ausführbar machen.

chmod +x meinskript

Ein ausführbares Skript kann direkt aufgerufen werden. Dazu muss lediglich in der ersten Zeile des Skripts der Interpreter genannt werden. Die ausführbaren Anwendungsprogramme, zu denen auch Interpreter gehören, befinden sich nach POSIX-Standard im Verzeichnis /usr/bin. Darum gehört bei einem Python-Skript folgender Eintrag in die erste Zeile. Da die Zeile mit einem Kommentarzeichen beginnt, stört sie unter Windows nicht.

#!/usr/bin/python

Nun kann ein Python-Skript namens meinskript folgendermaßen aufgerufen werden:

./meinskript

Eine Endung auf .py ist unter Linux oder Mac nicht erforderlich, schadet aber auch nicht.

Start von der grafischen Oberfläche per Doppelklick

Sie können Ihr Programm auch von der grafischen Oberfläche aus per Doppelklick starten. Die grafischen Oberflächen verwenden die Endung einer Datei, um daran zu erkennen, welches Programm für sie zuständig ist. Bei der Installation des Python-Interpreters wird diese Verbindung normalerweise gleich eingerichtet, sodass Sie sich nicht darum kümmern müssen.

Die Datei, die das Python-Programm enthält, muss unter UNIX-ähnlichen Systemen mit dem Befehl chmod +x als ausführbar gekennzeichnet sein, wie dies bereits beschrieben wurde.

Unter Windows erscheint nach dem Doppelklick auf ein Python-Programm immer ein schwarzes Kommandofenster im Hintergrund, auch dann, wenn das Programm Tkinter als grafische Oberfläche verwendet (siehe Kapitel 10). Es verschwindet nach Ende des Programms allerdings auch wieder.

Hinweis

Wenn Ihr doppelt angeklicktes Python-Programm gar keine grafische Oberfläche verwendet, wird ein Textfenster gestartet, das allerdings nach dem Ende Ihres Programms auch gleich wieder verschwindet. Blöd, wenn als Letztes die Ergebnisse erscheinen, für die das Programm extra gestartet wurde. In solchen Fällen sollten Sie zuletzt einfach noch eine Eingabe (siehe Abschnitt 3.5) anfordern. Dann stoppt das Programm automatsch, bis die Taste gedrückt wurde.

2.3 Gestaltung eines Python-Programms

Python hält sich bei der Gestaltung der Programme an Heinz Erhard, der schon bei Büchern vorschlug, diese von links nach rechts zu lesen und am Ende der Zeile mit der darunterliegenden fortzufahren.

Im Gegensatz zu einigen Programmiersprachen legt Python großen Wert darauf, dass die Programmzeilen auch ganz links beginnen. Eingerückte Zeilen gibt es auch. Bei manchen Befehlen wie Abfragen oder Schleifen sind die Folgebefehle von der Bedingungsprüfung abhängig. Um dies zu kennzeichnen, erhalten Befehle, die Folgebefehle erwarten, einen Doppelpunkt angehängt. Die abhängigen Zeilen werden nun eingerückt. Wie viele Leerstellen Sie einrücken, ist Python weitgehend egal. Es haben sich vier Leerzeichen eingebürgert. Aber alle weiteren Zeilen, die gleich weit eingerückt sind, gehören zu dem davorstehenden Befehl. Das Thema werden wir an gegebener Stelle ab Abschnitt 4.1 noch vertiefen.

Eine Zeile ist endlich

Grundsätzlich sollten Sie jede Anweisung in eine neue Zeile schreiben. Aber spätestens, wenn Zeilen länger als 80 Zeichen werden, empfiehlt es sich, am Ende der Zeile einen Backslash (\) zu setzen und in der nächsten Zeile fortzufahren.

Eine solche fortgesetzte Zeile sollte eingerückt werden, damit deutlich wird, dass es nicht eine neue Anweisung ist. Eine Einrückung von acht Leerzeichen gilt als schick. Aber verwenden Sie besser wirklich Leerzeichen und nicht die Tabulatortaste.

Nicht immer müssen Sie beim Umbrechen einer Zeile ein Backslash-Zeichen an das Ende der Zeile stellen. Python ist so schlau, zu erkennen, wenn noch eine Klammer offen ist. Dann arbeitet es den Befehl in der nächsten Zeile weiter ab, auch wenn kein Backslash explizit darauf hinweist.

Falls Sie einmal mehrere sehr kurze Befehle hintereinandersetzen und es nicht nett finden, diese einsam für sich in je einer Zeile zu belassen, dann dürfen Sie sie auch in eine Zeile quetschen. Allerdings müssen Sie dann ein Semikolon dazwischen stellen.

2.4 Kommentare

Bevor Sie die ersten Programme schreiben, sollten Sie lernen, wie man ein Programm kommentiert. Das ist wichtig, weil in Programmen in der Praxis öfter gelesen als geschrieben wird, sei es für Erweiterungen oder Fehlersuche. Und der Kollege, der gern wüsste, wozu dieser Abschnitt des Programms gut sein soll, könnten Sie selbst sein. In ein paar Jahren haben Sie vielleicht vergessen, was Sie sich damals gedacht haben.

Ihre Kommentare gehen den Interpreter nichts an. Damit er nicht mitliest, wird ein Doppelkreuz vor den Kommentar gestellt. Ab diesem Zeichen wird der Rest der Zeile vom Interpreter nicht ausgewertet.

# Dies ist eine Kommentarzeile

zahl = 12 # ab dem Doppelkreuz nur fuer menschliche Wesen

Wenn Sie einmal etwas umfangreichere Prosa schreiben wollen, verwenden Sie am besten einen Blockkommentar. Ein Blockkommentar beginnt mit drei Anführungszeichen und endet mit drei Anführungszeichen. Ein solcher Kommentar kann über mehrere Zeilen gehen.

""" Dies ist ein Kommentar

der hört hier noch nicht auf

Erst am Ende dieser Zeile """

Um genau zu sein, schließt das Dreifachanführungszeichen eigentlich eine Zeichenkettenkonstante ein. In dieser Doppelrolle ist das dreifache Anführungszeichen aber recht praktisch, wenn längere Texte verarbeitet werden sollen.

Das Setzen guter Kommentare ist eine Kunst, die Erfahrung braucht. Zu viele Kommentare verdecken das Wesentliche. Aber wenn ein Programmierer bei Wartungsarbeiten immer wieder grübeln muss, dann verliert man kostbare Zeit. Ein Kommentar kann hier wirklich wertvoll sein.

2.5 Die Last mit den Umlauten

Wenn Sie nun eifrig kommentieren, kann es sein, dass Sie auch mal einen deutschen Umlaut verwenden möchten. Das ist bei der Verwendung von Python 2 keine so gute Idee, weil der Interpreter darauf etwas gereizt reagiert. Das hat nun nichts mit den typischen Feindbildern der Amerikaner gegen die Deutschen zu tun, sondern dass Python 2 normalerweise davon ausgeht, dass alle Texte nach ASCII codiert sind, ein Zeichensatz, der keine nationalen Sonderzeichen kennt. Also: keine Umlaute in Python 2!

Python 3 hat erkannt, dass es in der Welt mehr Zeichen gibt, als die englische Sprache kennt. Darum hat man gleich den großen Wurf gewagt und verwendet Unicode in der Codierung UTF-8. UTF-8 ist eine Codierung für internationale Sonderzeichen und das ist eine lange Geschichte, die ich Ihnen gern in Abschnitt 8.6 erzähle.

An UTF-8 hält sich auch IDLE auf allen Plattformen. Schwierig wird es erst, wenn Sie einen Editor verwenden wollen, der kein UTF-8 beherrscht. Damit haben vor allem Windows-Benutzer ein Problem, die einen eigenen Editor verwenden wollen, da Windows noch die Codepage 1252 aus dem Jahr 1998 verwendet. Die ist übrigens verwandt mit ISO-8859-1 (Latin-1), den manch älteres UNIX-System noch einsetzt. Immerhin haben Linux-Benutzer kein Problem damit, weil Linux schon seit Jahren UTF-8 verwendet.

Auch unter Python 2 können Sie UTF-8 im Listing verwenden, müssen aber diese Codierung aber explizit ankündigen. Das können Sie im Quelltext in der ersten oder zweiten Zeile dokumentieren.

# – *– coding: utf-8 – *-

Wollen Sie allerdings unbedingt einen Windows-Editor einsetzen, der UTF-8 nicht beherrscht, können Sie auch die Codepage 1252 angeben.

# – *– coding: cp1252 – *-

Möchten Sie dagegen einen Editor verwenden, der ISO-8859-1 einsetzt, müsste die Zeile so aussehen:

# – *– coding: iso-8859-1 – *-

Auf diese Weise haben Sie zwar den Programmtext Windows-kompatibel gemacht, könnten aber auf ein Problem stoßen, wenn Sie oder jemand anderes Ihr Programm auf einer anderen Plattform oder in IDLE nacharbeiten will. Darum sollten Sie als Tipp mitnehmen, dass Sie besser mit einem UTF-8-fähigen Editor arbeiten.

Nun können Sie eifrig Umlaute eingeben. Aber glauben Sie bloß nicht, dass wir damit das Thema hinter uns gelassen haben. Es kommt wieder.

Python. Der Sprachkurs für Einsteiger und Individualisten

Подняться наверх