Was ist Python?
Python ist eine sehr einfach zu erlernende Programmiersprache und für den Einstieg in die Welt der Programmierung ideal geeignet.
Trotz ihrer Einfachheit bietet diese Sprache auch die Möglichkeit, komplexe Programme für vielfältige Anwendungsgebiete zu schreiben.
Python eignet sich besonders zur schnellen Entwicklung umfangreicher Anwendungen. Diese Technik ist unter dem Stichwort RAD (Rapid
Application Development) bekannt geworden.
Die Programmiersprache Python wurde 1991 eingeführt. Python 2, die klassische Version, gibt es seit dem Jahr 2000. Es existiert noch
in großen, langlebigen Projekten und wird auch weiterhin von den Python-Entwicklern unterstützt, aktuell mit der Version 2.7. Python
3 wurde im Jahr 2008 eingeführt und ist mit der Version 3.6 die aktuelle Version für Einsteiger.
Die Programmiersprache Python vereint folgende Vorteile:
- Eine einfache, eindeutige Syntax: Python ist für Einsteiger eine ideale Programmiersprache. Sie beschränkt sich auf einfache, klare Anweisungen und häufig auf einen einzigen möglichen Lösungsweg. Dieser prägt sich schnell ein und wird dem Entwickler vertraut.
- Klare Strukturen: Python verlangt vom Entwickler, in einer gut lesbaren Struktur zu schreiben. Die Anordnung der Programmzeilen ergibt gleichzeitig die logische Struktur des Programms.
- Wiederverwendung von Code: Die Modularisierung, also die Zerlegung eines Problems in Teilprobleme und die anschließende Zusammenführung der Teillösungen zu einer Gesamtlösung, wird in Python sehr leicht gemacht. Die vorhandenen Teillösungen können unkompliziert für weitere Aufgabenstellungen genutzt werden, sodass Sie als Entwickler bald über einen umfangreichen Pool an Modulen verfügen.
- Objektbearbeitung: In Python werden alle Daten als Objekte gespeichert. Dies führt zu einer einheitlichen Behandlung für Objekte unterschiedlichen Typs. Andererseits erfolgt die physikalische Speicherung der Objekte von Python automatisch, also ohne Eingriff des Entwicklers. Der Entwickler muss sich nicht um die Reservierung und Freigabe geeigneter Speicherbereiche kümmern.
- Interpreter/Compiler: Python-Programme werden unmittelbar interpretiert. Sie müssen nicht erst kompiliert und gebunden werden. Dies ermöglicht einen häufigen, schnellen Wechsel zwischen Codierungs- und Testphase.
- Unabhängigkeit vom Betriebssystem: Sowohl Programme, die von der Kommandozeile aus bedient werden, als auch Programme mit grafischen Benutzeroberflächen können auf unterschiedlichen Betriebssystemen (Windows, Linux, macOS) ohne Neuentwicklung und Anpassung eingesetzt werden.
Python und der Raspberry Pi
Der Raspberry Pi ist ein vollständiger Computer auf einer kleinen Platine, der einen sehr preisgünstigen Einstieg sowohl in die
Softwarewelt der Programmierung als auch in die Hardwarewelt der Elektronik ermöglicht. Als Betriebssystem wird häufig das Open-Source-System Raspbian verwendet, eine Variante der Linux-Distribution Debian. Seit seinem ersten Erscheinen im Jahr 2012 wird
er ständig weiterentwickelt.
Das Pi im Namen steht für Python-Interpreter. Python steht auf jedem Raspberry Pi als primäre Programmiersprache zur Verfügung. Sie
können elektronische Schaltungen erstellen und diese mit dem Raspberry Pi über eine dafür vorgesehene Schnittstelle verbinden. Sie
senden per Python-Programm Signale zu diesen Schaltungen, um sie zu steuern. Außerdem empfangen Sie per Python-Programm Signale von
diesen Schaltungen, um bestimmte Werte zu ermitteln. Diese Werte können Sie auf dem Bildschirm darstellen, speichern oder auch über
das Internet verfügbar machen.
Benutzeroberflächen unter Python
Möchten Sie dem Benutzer eine komfortable grafische Oberfläche zur Bedienung zur Verfügung stellen, so bietet sich bei Python die
Nutzung der bewährten und weitgehend einheitlichen Bibliothek Tk an. Sie ist sowohl unter Windows als auch unter Ubuntu Linux und
macOS gut integriert. Das Modul tkinter stellt eine Schnittstelle zu dieser Bibliothek dar. Es steht nach der Installation von
Python unter den verschiedenen Betriebssystemen bereits zur Verfügung. Es bietet eine Reihe von Klassen zur Erzeugung der Elemente
der Oberfläche. Die ereignisorientierte Programmierung rückt dabei in den Vordergrund.
Es gibt weitere Bibliotheken für grafische Benutzeroberflächen mit einer Schnittstelle zu Python. Allerdings gestaltet sich die
Einbindung teilweise recht aufwendig und unterscheidet sich in den verschiedenen Betriebssystemen. Hier sind zum Beispiel das
Gimp-Toolkit (GTK+) mit der Schnittstelle pyGTK, wxWidgets mit der Schnittstelle wxPython oder QT mit der Schnittstelle PyQt zu
nennen.
Ein Beispielprogramm
In diesem Abschnitt folgt ein Beispielprogramm. Falls Sie noch keine Programmiererfahrung haben, soll es Ihnen den einfachen
und klaren Aufbau von Python-Programmen verdeutlichen. Falls Sie bereits Kenntnisse in einer anderen Programmiersprache
besitzen, finden Sie im Code und den kurzen Kommentaren viele bekannte Elemente, aber auch Python-spezifische Elemente.
Natürlich ist dieses Demo-Beispiel noch nicht zum gründlichen Erlernen von Python geeignet. An dieser Stelle verweise ich auf mein
Buch beim Rheinwerk-Verlag.
Das Programm dient als Übung zum Kopfrechnen. Zunächst entscheidet der Benutzer über die Anzahl der Aufgaben, die ihm gestellt werden.
Anschließend werden mithilfe eines Zufallsgenerators Aufgaben aus den Grundrechenarten gestellt, mit Zahlen aus unterschiedlichen
Bereichen. Der Benutzer hat maximal drei Versuche, die richtige Lösung zu ermitteln. Anschließend erfolgt eine Auswertung seiner
Eingaben. Eine mögliche Ausgabe des Programms:
Wieviele Aufgaben (1 bis 10):
3
Aufgabe 1 von 3 : 32 + 2
Bitte eine Zahl eingeben:
34
34 ist richtig
Ergebnis: 34
Aufgabe 2 von 3 : -44 + 36
Bitte eine Zahl eingeben:
8
8 ist falsch
Bitte eine Zahl eingeben:
-8
-8 ist richtig
Ergebnis: -8
Aufgabe 3 von 3 : 95 + -11
Bitte eine Zahl eingeben:
85
85 ist falsch
Bitte eine Zahl eingeben:
86
86 ist falsch
Bitte eine Zahl eingeben:
83
83 ist falsch
Ergebnis: 84
Richtig: 2 von 3
Es folgt der Code des Programms in der Datei "kopfrechnen.py":
# Zufallsgenerator
import random
random.seed()
# Anzahl Aufgaben
anzahl = -1
while anzahl<0 or anzahl>10:
try:
print("Wieviele Aufgaben (1 bis 10):")
anzahl = int(input())
except:
continue
# Anzahl richtige Ergebnisse
richtig = 0
# Schleife mit "anzahl" Aufgaben
for aufgabe in range(1,anzahl+1):
# Operatorauswahl
opzahl = random.randint(1,4)
# Operandenauswahl
if(opzahl == 1):
a = random.randint(-50,100)
b = random.randint(-50,100)
op = "+"
c = a + b
elif(opzahl == 2):
a = random.randint(1,100)
b = random.randint(1,100)
op = "-"
c = a - b
elif(opzahl == 3):
a = random.randint(1,15)
b = random.randint(1,15)
op = "*"
c = a * b
# Sonderfall Division
elif(opzahl == 4):
c = random.randint(1,15)
b = random.randint(1,15)
op = "/"
a = c * b
# Aufgabenstellung
print("Aufgabe", aufgabe, "von",
anzahl, ":", a, op, b)
# Schleife mit 3 Versuchen
for versuch in range(1,4):
# Eingabe
try:
print("Bitte eine Zahl eingeben:")
zahl = int(input())
except:
# Falls Umwandlung nicht erfolgreich
print("Sie haben keine Zahl eingegeben")
# Schleife unmittelbar fortsetzen
continue
# Kommentar
if zahl == c:
print(zahl, "ist richtig")
richtig = richtig + 1
break
else:
print(zahl, "ist falsch")
# Richtiges Ergebnis der Aufgabe
print("Ergebnis: ", c)
# Anzahl richtige Ergebnisse
print("Richtig:", richtig, "von", anzahl)
Aktuelle IT Jobs
» IT-Administrator (m/w/d)» Wirtschaftsinformatiker*in als Stv. Teamleitung Vertriebs-IT (m/w/d) Schwerpunkt: Mobile Ticketing» Informatiker (m/w/d) als Software Engineer (m/w/d) Shop Floor Automation» IT-Systemadministrator (m/w/d)» Softwareingenieur/Experte Level 2 (m/w/d) im Bereich Digitalisierung (Dekarbonisierung)» alle Jobs anzeigen
Autor

Thomas Theis ist Diplom-Ingenieur für Technische Informatik und Software-Entwickler. Er hat langjährige Erfahrung
als IT-Dozent, unter anderem an der Fachhochschule Aachen. Er leitet Schulungen zu C/C++, Visual C#, Visual Basic sowie
Webprogrammierung und ist Autor zahlreicher erfolgreicher Fachbücher. Einsteiger und Neulinge schätzen seine Fähigkeit,
auch komplizierte Sachverhalte leicht verständlich zu machen und dabei den Spaß am Programmieren nie aus den Augen zu verlieren.