Programmieren mit Python 3

Python the one and only programming
language named after Monty Python!

Sie wollten schon immer mal programmieren, haben vielleicht schon früher mal in BASIC oder gar in C programmiert. Aber die heutigen Programmiersprachen und "Monster-Entwicklungsumgebungen" schrecken Sie ab. Dann versuchen Sie es doch mal mit Python (https://de.wikipedia.org/wiki/Python_(Programmiersprache).

Ein einfaches "Hello, world!" Programm mit grafischer Oberfläche (GUI - Graphical User Interface), dessen Fenster Sie verschieben, vergrößern können, das in der Titelleiste eine "Schließen-Schaltfläche" (Button) hat, ist in Python schnell geschrieben:

ACHTUNG: UNIX-Nutzer: Fügen Sie als erste Zeile (es darf nichts, nicht mal ein Leerzeichen davor kommen folgende Zeile ein:
#!/usr/bin/python3
Es kann trotzdem nicht funktionieren, falls ihr Python in einem anderen Verzeichnis installiert ist.

1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  from tkinter import * import sys win=Tk() btnHello = Button( win, text= """ Hello, world!    Click to exit this application    """, command=sys.exit) btnHello.pack() win.mainloop()
Bereits nach dem Kapitel „Tischrechner mit GUI”, Zeitbedarf geschätzt 8 bis 20 Stunden (hängt von Ihnen ab), haben Sie folgenden kleinen "Tischrechner" entwickelt:
Thumbnail vom Rechner
Zum Vergrößern auf das Bild klicken

Wenn Sie dieses Programm unter dem Namen "hello.py", bzw. unter Windows besser den Namen hello.pyw verwenden(!), speichern (verwenden Sie Copy and Paste - aber achten Sie darauf, die Zeilennummern nicht mit zu kopieren!), dann können Sie dieses Programm durch Doppelklick auf den Dateinamen (z. B. im Windows Explorer) starten. Dazu müssen Sie vorher aber Python installiert haben (siehe unten).

Unter Windows verwenden Sie z. B. Notepad, fügen den Quelltext oben über die Zwischenablage ein und speichern ihn ab. .

So sieht das Ergebnis aus:

helloPython.jpg

Der gesamte Arbeitsbereich unterhalb der Titelleiste ist in der ursprünglichen Anzeige nach dem Start eine Schaltfläche, im folgenden Button genannt (so wird eine Schaltfläche im grafischen Toolkit "tkinter", das Python verwendet, genannt). Wenn Sie auf den Button klicken (oder auf den "X"-Button in der Titelleiste), wird die App(likation) (das Programm) beendet. Sie können das Fenster auch ganz normal durch "Ziehen" an den Rändern vergrößern oder es verschieben.

Wie Sie im Quelltext (Sourcecode) sehen, müssen Sie keine Variablen vorab definieren, sie müssen keine Klasse definieren. Es ist praktisch genau so einfach wie BASIC. Selbstverständlich unterstützt Python objektorientierte Programmierung, sogar mit echter Mehrfachvererbung, aber man muss zunächst nicht objektorientiert programmieren (was man als Fortgeschrittener aber tunlichst tun sollte).

Falls jetzt Ihr Interesse geweckt ist, das mal selbst zu probieren, steht Ihnen eine der schwierigeren Aufgaben leider noch bevor: Die Installation von Python und die ersten Schritte. Allerdings ist diese Installation deutlich einfacher als z. B. die Installation von Java plus einer Entwicklungsumgebung wie Eclipse oder IntelliJ IDEA.




Python herunterladen und installieren

Gehen Sie auf die Python-Startseite

http://www.python.org

bewegen Sie den Mauszeiger auf den Menüpunkt Downloads oben in der Menüleiste. Wählen Sie dann Ihr Betriebssystem und die derzeit aktuellste Version (wird normalerweise vorgeschlagen). Zum Zeitpunkt (10.12.2016) der Erstellung dieses Dokuments war das für Windows die Version 3.5.2. Es gibt bereits "Release Candidates" mit Version 3.6, diese sollten Sie aber insbesondere als Anfänger nicht herunterladen, da darin durchaus noch Fehler sein können. Sollte aber bereits die Release-Version 3.6.x verfügbar sein, laden Sie diese. Sie hat eine recht nützliche Erweiterung bei der Angabe von Zahlenliteralen (ein Zahlenliteral ist eine Zahlenangabe wie 123): Man darf jetzt zwischen die Ziffern Underscores (_) einfügen, wodurch vor allem große Zahlen viel leichter lesbar sind, z. B. 703_568_234 statt (703568234).

Die Version (zumindest für Windows) scheint sowohl die 32-Bit als auch die 64-Bit- Version zu enthalten (im Gegensatz zu den Release Candidates wird nicht zwischen 32 Bit und 64 Bit unterschieden). Nach der Installation sehen Sie im Startmenü von Windows, wenn sie die Python-Gruppe aufklappen, ob Sie eine 64-Bit-Version haben.

Die heruntergeladene ausführbare (.exe) Datei sollten Sie dann mit einem aktuellen Virenprogramm zunächst prüfen dann ausführen. Folgen Sie danach den Hinweisen des Installationsprogramms.

Wichtiger Hinweis: Der Autor hat mittlerweile sein System auf die Python 3 Version 3.6.1 "upgedatet"(!). Ich habe einige der Programme aus diesem Kurs getestet nicht alle(!). Sie scheinen noch alle zu funktionieren, garantieren kann ich das nicht. Außerdem muss man jetzt anscheinend wieder aufpassen, ob man die 32-Bit oder die 64-Bit Version herunterladen (und installieren) will. Wenn Sie ein 64-Bit-System haben, empfehle ich Ihnen die 64-Bit-Version - der Autor nutzt die 64-Bit-Version.

Zum Update habe ich zunächst die alte Version deinstalliert (über die Einstellungen in Windows 10 - bitte lesen Sie selbst nach, wie Sie Programme in Windows deinstallieren), und dann Python 3 Version 3.6.1 neu installiert. Danach auch wieder den "PATH" angepasst (damit die Python-Einträge ganz am Schluss kommen, und nicht evtl. wichtige Windows-Verzeichnisse überdecken).

Hinweise zur Installation unter Windows:

Ich empfehle Ihnen eine benutzerdefinierte Installation und Python nicht in das vorgeschlagene Verzeichnis zu installieren. Dieses heißt intern nämlich "...Program Files...", enthält also ein Leerzeichen. Es gibt leider immer noch viele Programme, die mit Leerzeichen in Pfadnamen nicht korrekt arbeiten. Und da Python ursprünglich nicht unter Windows entwickelt wurde, geht der Autor hier lieber "auf Nummer sicher".

Sie sollten bei der Installation auch die PATH-Umgebungsvariable setzen lassen. Nachträglich sollten Sie aber die Systemumgebungsvariablen bearbeiten und die beiden Python-Einträge vom Anfang an das Ende verschieben (falls mal ein Windows- Dateiname gleich ist, wie einer von der Python-Installation, könnte es sonst in Windows zu Fehlfunktionen kommen). Alt: Bei mir geht das am schnellsten, wenn ich auf "Start" klicke und (ohne die Anführungszeichen) „envir” (oder nur „envi”, „env”, ...) tippe, dann kommt ganz oben unter anderem "Systemumgebungsvariablen bearbeiten" . NEU: Folgendes scheint unabhängig von der Windows-Version zu funktionieren: Drücken Sie die Windows-Taste und gleichzeitig die Taste R. Es erscheint unten links der „Ausführen” Dialog. Dort geben Sie ein:

syscdm.cpl

Dann drücken Sie die Eingabetaste. Danach sollte der „Systemeigenschaften” Dialog erscheinen. Wählen Sie dort die Registerkarte „Erweitert” und dort unten „Umgebungsvariablen”.

In dem dann erscheinenden Dialog müssen Sie in der unteren Listbox (Systemvariablen) den Eintrag PATH suchen und diesen bearbeiten. Dann die beiden Einträge, die Python erstellt hat (Sie werden es vermutlich in ein anderes Verzeichnis als "C:\progs" wie ich installiert haben) nach unten verschieben. Im Bild unten sehen Sie, wie es aussehen sollte.




Mit Python 3 arbeiten

Klappen Sie im Startmenu (Windows 7 oder 10, bei 8 müssen Sie selbst suchen, hat der Autor nicht installiert) den Python-Eintrag auf und klicken Sie zunächst auf den Eintrag der mit

IDLE

beginnt. IDLE (Integrated DeveLopment Environment) ist die Entwicklungsumgebung für Python. Sie können Python 3 Programme aber auch mit jedem beliebigen Editor, der UTF-8 unterstützt (z. B. den Windows Editor [Notepad]), erstellen. Aber IDLE bietet deutliche Vorteile, z. B. Syntax-Hilighting (automatische farbliche Hervorhebungen), siehe Bild unten. Sie sind dann in einer grafischen Python-Shell und können nach dem Eingabe-Prompt ">>> " direkt Befehle eingeben (ohne erst ein Programm erstellen zu müssen). Wollen Sie z. B. feststellen, ob Sie unter einer 32- oder 64-Bit-Version arbeiten, können Sie das mit:

>>> import struct;print(struct.calcsize("P") * 8)

feststellen. Es wird 32 oder 64 ausgegeben. Wichtig sind die Klammern um den gesamten(!)" auszugebenden Ausdruck. "print" ist in Python 3 eine Funktion, in Python 2 war es noch ein Schlüsselwort (eingebauter Befehl), bei dem man um den auszugebenden Ausdruck keine Klammern setzen musste.

Oder geben Sie "print(3*4)" ein (ohne die Anführungszeichen - und ja, das können Sie natürlich im Kopf rechnen). Wobei "3*4" auch funktioniert.

Um jetzt ein Programm einzugeben, klicken Sie im Menü auf "File" und wählen "New File". Dann können Sie das "Hello, world!" von oben in die Zwischenablage kopieren (beim Markieren bitte aufpassen, dass sie die Zeilennummern nicht mit kopieren) und im Editorfenster einfügen.

pythonIdle.jpg

Bevor Sie das Programm starten können, müssen Sie es erst speichern, z. B. unter dem Namen "hello.py" bzw. unter Windows mit dem Namen "hello.pyw". Jetzt können Sie es im Run-Menü mit "Run Module" starten. Wenn Sie es aus Idle heraus starten, können Sie das Programm leider nicht mit dem Button beenden, Sie müssen den "X"-Button in der Titelleiste benutzen. Wenn Sie die Datei aber im Windows-Explorer mittels Doppelklick starten, funktioniert alles (dazu sollten die Programme unbedingt mit der Endung .pyw gesichert werden, sonst erscheint immer noch zusätzlich eine hässliche Windows-Eingabeaufforderung!).

Sie merken schon, das ist alles etwas Windows-lastig :-) Ich war und bin nicht der große Fan von Windows oder irgend einem anderem Betriebssystem. Aber ich muss leider zugeben, dass unter Windows alles irgendwie einfacher ist.

U N D  Windows ist mittlerweile von der Betriebssystem-Basis her ähnlich gut wie ein UNIX, QDOS, Amiga-OS, TOS, ...

Aber vor allem: Windows haben über 90% meiner Freunde zumindest als Zweitbetriebssystem installiert.

Ich habe leider nicht die Zeit, die fehlenden 10% so zu unterstützen wie die große Masse der Anwender.


Falls Sie bis jetzt "durchgehalten" haben, dann haben Sie es schon fast geschafft. Im nächsten Kapitel werden wir das "Hello, world!" Programm von oben "aufschlüsseln" und geringfügig erweitern.

Aufschlüsseln heißt in diesem Fall, dass dieses "Hello, world!" mit Kommentaren im Quelltext kommt.

In Python ist alles was nach einem Hash-Zeichen (#) kommt Kommentar.

Letzter Hinweis: Wenn sie das alles mit einer Python-Version vor 3.0 versuchen, wird nichts funktionieren! Dies ist eine Python 3 Einführung. Der Autor hat bislang selbst auch nur mit Python 2.x gearbeitet. Insofern können in dieser Einführung jede Menge Fehler "stecken".

Im nächsten Kapitel "legen wir dann los"