Theis | Einstieg in Python | E-Book | sack.de
E-Book

E-Book, Deutsch, 484 Seiten

Reihe: Rheinwerk Computing

Theis Einstieg in Python

Ideal für Programmiereinsteiger
8. Auflage 2024
ISBN: 978-3-367-10125-2
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

Ideal für Programmiereinsteiger

E-Book, Deutsch, 484 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-367-10125-2
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



Sie möchten Python lernen? Mit diesem Buch schaffen Sie es! Folgen Sie unserem Autor Thomas Theis bei der Entwicklung eines kleinen Spiels und lernen Sie ganz nebenbei das Basiswissen. Das Spiel wird immer weiter ausgebaut. Dabei lernen Sie die Oberflächen- und Datenbank-Programmierung kennen. Natürlich werden Sie auch mit der objektorientierten Programmierung vertraut gemacht.
Mit diesem Buch wird Ihnen der Einstieg in Python im wahrsten Sinne des Worts spielend gelingen. Ganz ohne Vorkenntnisse.

Aus dem Inhalt:

  • Installation
  • Python-Grundlagen
  • Fehlerbehandlung
  • Objektorientierte Programmierung (OOP)
  • Multithreading
  • Dateiverarbeitung
  • Datenbankanwendungen mit SQLite und MySQL
  • Grafische Benutzeroberflächen
  • GUIs programmieren


Thomas Theis ist Dipl.-Ing. für Technische Informatik und arbeitet als Berater und Trainer. Seit vielen Jahren gibt er als EDV-Dozent Kurse in verschiedenen Programmiersprachen. Er ist Autor vieler erfolgreicher Fachbücher.
Theis Einstieg in Python jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


1.  Einführung ... 19  1.1 ... Vorteile von Python ... 19  1.2 ... Verbreitung von Python ... 20  1.3 ... Aufbau des Buchs ... 20  1.4 ... Übungen ... 21  1.5 ... Installation unter Windows ... 22  1.6 ... Installation unter Ubuntu Linux ... 23  1.7 ... Installation unter macOS ... 23  2.  Erste Schritte ... 25  2.1 ... Python als Taschenrechner ... 25  2.2 ... Erstes Programm ... 30  2.3 ... Speichern und ausführen ... 31  3.  Programmierkurs ... 37  3.1 ... Ein Spiel programmieren ... 37  3.2 ... Variablen und Operatoren ... 38  3.3 ... Verzweigungen ... 45  3.4 ... Schleifen ... 59  3.5 ... Entwicklung eines Programms ... 73  3.6 ... Fehler und Ausnahmen ... 74  3.7 ... Funktionen und Module ... 79  3.8 ... Typhinweise ... 86  3.9 ... Das fertige Spiel ... 90  4.  Datentypen ... 95  4.1 ... Zahlen ... 95  4.2 ... Zeichenketten ... 114  4.3 ... Listen ... 125  4.4 ... Tupel ... 133  4.5 ... Dictionarys ... 134  4.6 ... Sets, Mengen ... 138  4.7 ... Wahrheitswerte und Nichts ... 141  4.8 ... Referenz, Identität und Kopie ... 144  4.9 ... Typhinweise ... 148  5.  Weiterführende Programmierung ... 151  5.1 ... Allgemeines ... 151  5.2 ... Ausgabe und Formatierung ... 155  5.3 ... Funktionen für Iterables ... 161  5.4 ... Verschlüsselung ... 164  5.5 ... Fehler und Ausnahmen ... 166  5.6 ... Funktionen ... 174  5.7 ... Eingebaute Funktionen ... 184  5.8 ... Weitere mathematische Module ... 188  5.9 ... Eigene Module ... 202  5.10 ... Parameter der Kommandozeile ... 204  5.11 ... Programm »Bruchtraining« ... 205  6.  Objektorientierte Programmierung ... 213  6.1 ... Grundlagen ... 213  6.2 ... Fortgeschrittene Themen ... 228  7.  Verschiedene Module ... 241  7.1 ... Datum und Uhrzeit ... 241  7.2 ... Warteschlangen ... 254  7.3 ... Multithreading ... 260  7.4 ... Reguläre Ausdrücke ... 266  7.5 ... Audioausgabe ... 270  8.  Dateien ... 273  8.1 ... Das Öffnen und das Schließen einer Datei ... 273  8.2 ... Textdateien ... 274  8.3 ... Dateien mit festgelegter Struktur ... 282  8.4 ... Serialisierung mit »pickle« ... 286  8.5 ... Datenaustausch mit JSON ... 289  8.6 ... Bearbeitung mehrerer Dateien ... 292  8.7 ... Informationen über Dateien ... 294  8.8 ... Dateien und Verzeichnisse verwalten ... 295  8.9 ... Beispielprojekt Morsezeichen ... 296  8.10 ... Spiel, Version mit Highscore-Datei ... 300  8.11 ... Spiel, objektorientierte Version mit Highscore-Datei ... 305  9.  Datenbanken ... 311  9.1 ... Aufbau von Datenbanken ... 311  9.2 ... SQLite ... 312  9.3 ... MySQL ... 327  9.4 ... Spiel, Version mit Highscore-Datenbank ... 331  9.5 ... Spiel, objektorientierte Version mit Highscore-Datenbank ... 333

10.  Benutzeroberflächen ... 337  10.1 ... Einführung ... 337  10.2 ... Widget-Typen ... 343  10.3 ... Bilder und Mausereignisse ... 363  10.4 ... Geometrie-Manager »place« ... 369  10.5 ... Menüs und Dialogfelder ... 375  10.6 ... Zeichnungen und Animationen ... 386  10.7 ... Spiel, GUI-Version ... 393  10.8 ... Übungsaufgabe ... 399

11.  Benutzeroberflächen mit PyQt ... 403  11.1 ... Einführung ... 403  11.2 ... Widget-Typen ... 409  11.3 ... PyQt und SQLite ... 442  11.4 ... Übungsaufgabe ... 456  Anhang ... 457  A.1 ... Installation zusätzlicher Module ... 457  A.2 ... Erstellen von ausführbaren Dateien ... 458  A.3 ... Installation von XAMPP ... 459  A.4 ... UNIX-Befehle ... 460  A.5 ... Tipps zur Entwicklung ... 463  Index ... 467


3.2    Variablen und Operatoren


Zur Speicherung von Werten werden Variablen benötigt. Operatoren dienen zur Ausführung von Berechnungen.

3.2.1    Zuweisung, Berechnung und Ausgabe


Im folgenden Programm wird eine einfache Berechnung mithilfe eines Operators durchgeführt. Das Ergebnis der Berechnung wird mit dem Gleichheitszeichen einer Variablen zugewiesen. Es erfolgt eine Ausgabe. Diese Schritte kennen Sie bereits aus Abschnitt 2.1.6.

a = 5
b = 3
c = a + b

print("Die Aufgabe:", a, "+", b)
print("Das Ergebnis:", c)

Listing 3.1     Datei »zuweisung.py«

Die Ausgabe des Programms lautet:

Die Aufgabe: 5 + 3
Das Ergebnis: 8

In den beiden Variablen a und b wird jeweils ein Wert gespeichert. Die beiden Werte werden addiert, das Ergebnis wird der Variablen c zugewiesen. Die Aufgabenstellung wird ausgegeben, anschließend das Ergebnis. Bei der Benutzung des Programms hat man noch keine Möglichkeit, in den Ablauf einzugreifen.

Hinweis

Da den Variablen a, b und c ganze Zahlen zugewiesen wurden, sind sie aktuell Variablen für ganze Zahlen. Bei Python handelt es sich aber um eine dynamisch typisierte Sprache. Daher könnten die Variablen nach einer anderen Zuweisung im Verlauf des Programms ihren Typ wechseln.

3.2.2    String-Literale


String-Literale dienen zur komfortablen Einbettung von einfachen Variablen, aber auch komplexen Ausdrücken in Zeichenketten, also in Texte. Nachfolgend sehen Sie unter anderem das Programm aus dem vorherigen Abschnitt in einer Version mit String-Literalen:

a = 5
b = 3
c = a + b

print(f"Die Aufgabe: {a} + {b}")
print(f"Das Ergebnis: {c}")
print(f"Das Ergebnis ohne Speicherung: {a + b}")
print(f"Eine weitere Berechnung: {(12 - 5 * 2) / 4}")

Listing 3.2     Datei »literal.py«

Die Ausgabe des Programms lautet:

Die Aufgabe: 5 + 3
Das Ergebnis: 8
Das Ergebnis ohne Speicherung: 8
Eine weitere Berechnung: 0.5

Das Zeichen »f« vor dem Beginn der Zeichenkette leitet ein String-Literal ein. In der Zeichenkette können mehrere Ausdrücke eingebettet werden, jeweils mithilfe von geschweiften Klammern. Ein Ausdruck kann unter anderem Operatoren, runde Klammern und die Namen von Variablen enthalten. Der Wert eines Ausdrucks wird ermittelt und gemeinsam mit dem Rest der Zeichenkette ausgegeben.

Die geschweiften Klammern { und } erreichen Sie mithilfe der Taste (Alt_Gr) rechts neben der Leertaste, unter macOS gegebenenfalls mit (Alt) + (8) und (Alt) + (9). Mehr zu den Möglichkeiten von String-Literalen folgt in Abschnitt 5.2.2.

3.2.3    Eingabe einer Zeichenkette


In diesem Abschnitt wird die eingebaute Funktion input() eingeführt. Sie dient zur Eingabe einer Zeichenkette, also eines Texts. Ein kleines Beispiel:

print("Bitte einen Text eingeben")
x = input()
print("Ihre Eingabe:", x)

Listing 3.3     Datei »eingabe_text.py«

Die Ausgabe könnte wie folgt aussehen:

Bitte einen Text eingeben
Ich schreibe Python-Programme
Ihre Eingabe: Ich schreibe Python-Programme

Es wird ein Text eingegeben. Dieser Text wird in der Variablen x gespeichert und anschließend ausgegeben.

Hinweis

Da der Variablen x eine Zeichenkette zugewiesen wurde, ist sie aktuell eine Variable für Zeichenketten (englisch: strings).

3.2.4    Eingabe einer Zahl


Im weiteren Verlauf des Spiels ist es notwendig, einen eingegebenen Text als Zahl weiterzuverwenden. Dazu muss die Zeichenkette, die die Funktion input() liefert, in eine ganze Zahl umgewandelt werden.

Zur Umwandlung gibt es unter anderem die folgenden Funktionen:

  • Die eingebaute Funktion int() wandelt eine Zeichenkette, die eine gültige ganze Zahl enthält, in eine ganze Zahl um. Enthält die Zeichenkette keine gültige ganze Zahl, bricht das Programm ab.

  • Die eingebaute Funktion float() wandelt eine Zeichenkette, die eine gültige Zahl enthält, in eine Zahl mit Nachkommastellen um. Enthält die Zeichenkette keine gültige Zahl, bricht das Programm ab. Nur ein Punkt als Dezimaltrennzeichen ist erlaubt, kein Komma.

In Abschnitt 3.6, »Fehler und Ausnahmen«, lernen Sie, wie Sie den Abbruch eines Programms abfangen. Bis zu dem genannten Abschnitt gehe ich vereinfacht davon aus, dass korrekte Eingaben vorgenommen werden.

Ein Beispiel mit der Funktion int():

print("Bitte eine ganze Zahl eingeben")
a = input()
print("Ihre Eingabe:", a)

b = int(a)
print("Als ganze Zahl:", b)
print("Das Doppelte:", b * 2)

print("Bitte eine Zahl eingeben")
x = input()
print("Ihre Eingabe:", x)

y = float(x)
print("Als Zahl:", y)
print("Das Doppelte:", y * 2)

Listing 3.4     Datei »eingabe_zahl.py«

Die Ausgabe könnte wie folgt aussehen:

Bitte eine ganze Zahl eingeben
3
Ihre Eingabe: 3
Als ganze Zahl: 3
Das Doppelte: 6
Bitte eine Zahl eingeben
3.5
Ihre Eingabe: 3.5
Als Zahl: 3.5
Das Doppelte: 7.0

Es wird eine erste Zeichenkette eingegeben. Sie wird mithilfe der eingebauten Funktion int() in eine ganze Zahl umgewandelt. Die Zahl und das Doppelte der Zahl werden ausgegeben.

Anschließend wird eine zweite Zeichenkette eingegeben. Sie wird mithilfe der eingebauten Funktion float() in eine Zahl mit Nachkommastellen umgewandelt. Die Zahl und das Doppelte der Zahl werden ausgegeben.

3.2.5    Spiel, Version mit Eingabe


Das Spielprogramm, in dem eine Rechenaufgabe im Kopf gelöst werden soll, erhält eine Eingabe. Das Programm wird wie folgt geändert:

a = 5
b = 3
c = a + b
print(f"Die Aufgabe: {a} + {b}")

print("Bitte Lösungsvorschlag eingeben:")
z = input()
zahl = int(z)

print("Ihre Eingabe:", z)
print("Das Ergebnis:", c)

Listing 3.5     Datei »spiel_eingabe.py«

Eine mögliche Ausgabe des Programms:

Die Aufgabe: 5 + 3
Bitte Lösungsvorschlag eingeben:
9
Ihre Eingabe: 9
Das Ergebnis: 8

Das Programm gibt die Aufforderung »Bitte Lösungsvorschlag eingeben:« aus und hält an. Der eingegebene Text wird in der Variablen z gespeichert. Die Zeichenkette z wird mithilfe der Funktion int() in eine ganze Zahl verwandelt.

3.2.6    Übungsaufgaben


Übung »u_eingabe_inch«

Schreiben Sie ein Programm zur Eingabe und Umrechnung von beliebigen Inch-Werten in Zentimeter. Der Umrechnungsfaktor soll wie in der Übung »u_inch« aus Abschnitt 2.1.6 in einer Variablen gespeichert werden. Speichern Sie das Programm in der Datei u_eingabe_inch.py. Rufen Sie das Programm auf, und testen Sie es. Die Ausgabe kann zum Beispiel wie folgt aussehen:

Bitte geben Sie den Inch-Wert ein:
3.5
3.5 Inch sind 8.89 cm

Übung »u_eingabe_gehalt«

Schreiben Sie in der Datei u_eingabe_gehalt.py ein Programm zur vereinfachten Berechnung der Steuer. Nach dem Aufruf des Programms wird man dazu aufgefordert, sein monatliches Gehalt einzugeben. Anschließend werden 18 % dieses Betrags berechnet und ausgegeben. Die Ausgabe kann zum Beispiel wie folgt aussehen:

Geben Sie Ihr Gehalt in Euro ein:
2500
Es ergibt sich eine Steuer von 450.0 Euro
...


Theis, Thomas
Thomas Theis ist Dipl.-Ing. für Technische Informatik und arbeitet als Berater und Trainer. Seit vielen Jahren gibt er als EDV-Dozent Kurse in verschiedenen Programmiersprachen. Er ist Autor vieler erfolgreicher Fachbücher.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.