Einstieg in Python

Ideal für Programmiereinsteiger
 
 
Rheinwerk (Verlag)
  • 6. Auflage
  • |
  • erschienen am 22. November 2019
  • |
  • 520 Seiten
 
E-Book | ePUB mit Wasserzeichen-DRM | Systemvoraussetzungen
E-Book | ePUB ohne DRM | Systemvoraussetzungen
978-3-8362-7381-7 (ISBN)
 

¿¿¿¿ 100% Python für Einsteiger - mit vielen Übungen! ¿¿¿¿

  • Schritt für Schritt eigene Programme entwickeln
  • Mit vielen Beispielen und Übungsaufgaben
  • GUI, OOP, Datenbank- und Internetanwendungen u.v.m.
Python lernen leicht gemacht! Dieses Buch zeigt Ihnen, wie Sie Schritt für Schritt ein eigenes Spiel mit Python programmieren. Dabei lernen Sie alles, was Sie wissen müssen: von den Grundlagen der Programmierung bis zur Oberflächen-, Datenbank- und Internetentwicklung. Gut verständliche Erklärungen und viele Übungsaufgaben sorgen dafür, dass Ihnen der Einstieg sicher gelingt!

Aus dem Inhalt:

  • Installation
  • Python-Grundlagen
  • Fehlerbehandlung
  • Objektorientierte Programmierung
  • Multithreading
  • Dateiverarbeitung
  • Internetanwendungen
  • Datenbankanwendungen mit SQLite
  • Grafische Benutzeroberflächen
  • Entwickeln für den Raspberry Pi

Die Fachpresse zur Vorauflage: MagPi: »Buchtipp!«

6. Auflage
  • Deutsch
  • Bonn
  • |
  • Deutschland
  • Überarbeitete Ausgabe
  • 3,23 MB
978-3-8362-7381-7 (9783836273817)
weitere Ausgaben werden ermittelt
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.

Materialien zum Buch ... 16
1. Einführung ... 17

1.1 ... Vorteile von Python ... 17
1.2 ... Verbreitung von Python ... 18
1.3 ... Aufbau des Buchs ... 18
1.4 ... Übungen ... 20
1.5 ... Installation von Python unter Windows ... 20
1.6 ... Installation von Python unter Ubuntu Linux ... 21
1.7 ... Installation von Python unter macOS ... 21

2. Erste Schritte ... 23

2.1 ... Python als Taschenrechner ... 23
2.2 ... Erstes Programm ... 28
2.3 ... Speichern und Ausführen ... 29

3. Programmierkurs ... 35

3.1 ... Ein Spiel programmieren ... 35
3.2 ... Variablen und Operatoren ... 36
3.3 ... Verzweigungen ... 41
3.4 ... Schleifen ... 52
3.5 ... Entwicklung eines Programms ... 64
3.6 ... Fehler und Ausnahmen ... 65
3.7 ... Funktionen und Module ... 72
3.8 ... Das fertige Spiel ... 80

4. Datentypen ... 85

4.1 ... Zahlen ... 85
4.2 ... Zeichenketten ... 99
4.3 ... Listen ... 111
4.4 ... Tupel ... 118
4.5 ... Dictionarys ... 122
4.6 ... Mengen, Sets ... 128
4.7 ... Wahrheitswerte und Nichts ... 133
4.8 ... Referenz, Identität und Kopie ... 138

5. Weiterführende Programmierung ... 143

5.1 ... Allgemeines ... 143
5.2 ... Ausgabe und Formatierung ... 150
5.3 ... Conditional Expression ... 159
5.4 ... Iterierbare Objekte ... 160
5.5 ... List Comprehension ... 164
5.6 ... Fehler und Ausnahmen ... 166
5.7 ... Funktionen ... 176
5.8 ... Eingebaute Funktionen ... 189
5.9 ... Statistikfunktionen ... 194
5.10 ... Eigene Module ... 197
5.11 ... Parameter der Kommandozeile ... 199
5.12 ... Programm »Bruchtraining« ... 201

6. Objektorientierte Programmierung ... 209

6.1 ... Was ist OOP? ... 209
6.2 ... Klassen, Objekte und eigene Methoden ... 210
6.3 ... Konstruktor und Destruktor ... 212
6.4 ... Besondere Methoden ... 214
6.5 ... Operatormethoden ... 216
6.6 ... Referenz, Identität und Kopie ... 217
6.7 ... Vererbung ... 220
6.8 ... Mehrfachvererbung ... 223
6.9 ... Datenklassen ... 225
6.10 ... Enumerationen ... 227
6.11 ... Spiel, objektorientierte Version ... 229

7. Verschiedene Module ... 233

7.1 ... Datum und Zeit ... 233
7.2 ... Warteschlangen ... 244
7.3 ... Multithreading ... 251
7.4 ... Reguläre Ausdrücke ... 257
7.5 ... Audioausgabe ... 265

8. Dateien ... 267

8.1 ... Dateitypen ... 267
8.2 ... Öffnen und Schließen einer Datei ... 268
8.3 ... Sequenzielle Dateien ... 269
8.4 ... Dateien mit festgelegter Struktur ... 280
8.5 ... Serialisierung ... 285
8.6 ... Bearbeitung mehrerer Dateien ... 289
8.7 ... Informationen über Dateien ... 292
8.8 ... Dateien und Verzeichnisse verwalten ... 293
8.9 ... Beispielprojekt Morsezeichen ... 294
8.10 ... Spiel, Version mit Highscore-Datei ... 300
8.11 ... Spiel, objektorientierte Version mit Highscore-Datei ... 306

9. Internet ... 311

9.1 ... Laden und Senden von Internetdaten ... 311
9.2 ... Webserver-Programmierung ... 320
9.3 ... Browser aufrufen ... 333
9.4 ... Spiel, Version für das Internet ... 334

10. Datenbanken ... 345

10.1 ... Aufbau von Datenbanken ... 345
10.2 ... SQLite ... 346
10.3 ... SQLite auf dem Webserver ... 361
10.4 ... MySQL ... 363
10.5 ... Spiel, Version mit Highscore-Datenbank ... 370
10.6 ... Spiel, objektorientierte Version mit Highscore-Datenbank ... 373

11. Benutzeroberflächen ... 375

11.1 ... Einführung ... 375
11.2 ... Widget-Typen ... 379
11.3 ... Geometrische Anordnung von Widgets ... 413
11.4 ... Menüs, Messageboxen und Dialogfelder ... 431
11.5 ... Spiel, GUI-Version ... 447

12. Unterschiede in Python 2 ... 453

12.1 ... Neue und geänderte Eigenschaften ... 453
12.2 ... Konvertierung von Python 2 zu Python 3 ... 455

13. Raspberry Pi ... 457

13.1 ... Einzelteile und Installation ... 457
13.2 ... Elektronische Schaltungen ... 463
13.3 ... Lüftersteuerung ... 468
13.4 ... Roboter AlphaBot2-Pi ... 477

Anhang ... 491

A.1 ... Erstellen von EXE-Dateien ... 491
A.2 ... Installation von XAMPP ... 492
A.3 ... UNIX-Befehle ... 494
A.4 ... Lösungen ... 497

Index ... 505

3.2    Variablen und Operatoren


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

3.2.1    Berechnung und Zuweisung


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.5, »Variablen und Zuweisung«.

# Werte
a = 5
b = 3

# Berechnung
c = a + b

# Ausgabe
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. Der Benutzer des Programms hat noch keine Möglichkeit, in den Ablauf einzugreifen.

3.2.2    Eingabe einer Zeichenkette


In diesem Abschnitt wird die Funktion input() zur Eingabe einer Zeichenkette durch den Benutzer eingeführt. Ein kleines Beispiel:

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

Listing 3.2    Datei eingabe_text.py

Die Ausgabe könnte wie folgt aussehen:

Bitte einen Text eingeben
Python ist toll
Ihre Eingabe: Python ist toll

Der Benutzer gibt einen kleinen Satz ein. Dieser Satz wird in der Variablen x gespeichert und anschließend ausgegeben.

3.2.3    Eingabe einer Zahl


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

Zur Umwandlung gibt es u.a. die folgenden Funktionen:

  • Die eingebaute Funktion int() wandelt eine Zeichenkette in eine ganze Zahl um; eventuell vorhandene Nachkommastellen werden abgeschnitten.

  • Die eingebaute Funktion float() wandelt eine Zeichenkette in eine Zahl mit Nachkommastellen um.

  • Falls die Zeichenkette für float() keine gültige Zahl enthält, kommt es zu einem Programmabbruch. Bei int() muss es sich sogar um eine gültige ganze Zahl handeln. In Abschnitt 3.6, »Fehler und Ausnahmen«, lernen Sie, wie Sie Programmabbrüche abfangen.

Ein Beispiel:

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

# Umwandlung in ganze Zahl
xganz = int(x)
print("Als ganze Zahl:", xganz)

# Mit Berechnung
xdoppel = xganz * 2
print("Das Doppelte:", xdoppel)

Listing 3.3    Datei eingabe_zahl.py

Die Ausgabe könnte wie folgt aussehen:

Bitte eine ganze Zahl eingeben
6
Ihre Eingabe: 6
Als ganze Zahl: 6
Das Doppelte: 12

Der Benutzer gibt eine Zeichenkette ein. Diese Zeichenkette wird mithilfe der eingebauten Funktion int() in eine ganze Zahl umgewandelt. Die Zahl und das Doppelte der Zahl werden ausgegeben.

3.2.4    Spiel, Version mit Eingabe


Das Spiel, in dem der Benutzer eine oder mehrere Kopfrechenaufgaben lösen soll, erhält eine Eingabe. Es wird wie folgt geändert:

# Werte und Berechnung
a = 5
b = 3
c = a + b
print("Die Aufgabe:", a, "+", b)

# Eingabe
print("Bitte eine Zahl eingeben:")
z = input()

# Eingabe in Zahl umwandeln
zahl = int(z)

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

Listing 3.4    Datei spiel_eingabe.py

Eine mögliche Ausgabe des Programms:

Die Aufgabe: 5 + 3
Bitte eine Zahl eingeben:
9
Ihre Eingabe: 9
Das Ergebnis: 8

Das Programm gibt die Aufforderung Bitte eine Zahl eingeben: aus und hält an. Die Eingabe des Benutzers wird in der Variablen z gespeichert. Die Zeichenkette z wird mithilfe der Funktion int() in eine ganze Zahl verwandelt.

Übung u_eingabe_inch

Schreiben Sie ein Programm zur Eingabe und Umrechnung von beliebigen Inch-Werten in Zentimeter. Speichern Sie das Programm in der Datei u_eingabe_inch.py. Rufen Sie das Programm auf, und testen Sie es. Die Ausgabe kann z.B. 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 ein Programm zur vereinfachten Berechnung der Steuer. Der Anwender wird dazu aufgefordert, sein monatliches Gehalt einzugeben. Anschließend werden 18 % dieses Betrags berechnet und ausgegeben. Nutzen Sie die Datei u_eingabe_gehalt.py. Die Ausgabe kann z.B. wie folgt aussehen:

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

3.2.5    Zufallszahlen


Natürlich wird nicht immer die gleiche Kopfrechenaufgabe gestellt. In Python steht ein Zufallszahlengenerator zur Verfügung. Er erzeugt zufällige Zahlen, die wir zur Bildung der Aufgabenstellung nutzen.

Die Funktionen des Zufallszahlengenerators befinden sich in einem zusätzlichen Modul, das zunächst importiert werden muss. Das Programm wird wie folgt verändert:

# Modul random importieren
import random

# Zufallsgenerator initialisieren
random.seed()

# Zufallswerte und Berechnung
a = random.randint(1,10)
b = random.randint(1,10)
c = a + b
print("Die Aufgabe:", a, "+", b)

# Eingabe
print("Bitte eine Zahl eingeben:")
z = input()
zahl = int(z)

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

Listing 3.5    Datei spiel_zufallszahl.py

Eine mögliche Ausgabe des Programms, abhängig von den gelieferten zufälligen Werten, sieht wie folgt aus:

Die Aufgabe: 8 + 3
Bitte eine Zahl eingeben:
7
Ihre Eingabe: 7
Das Ergebnis: 11

Zusätzliche Module können Sie mithilfe der Anweisung import in das Programm einbinden. Die Funktionen dieser Module können Sie anschließend in der Schreibweise Modulname.Funktionsname aufrufen.

Der Aufruf der Funktion seed() des Moduls random führt dazu, dass der Zufallszahlengenerator mit der aktuellen Systemzeit initialisiert wird. Anderenfalls könnte es passieren, dass anstelle einer zufälligen Auswahl immer wieder die gleichen Zahlen geliefert würden.

Die Funktion randint() des Moduls random liefert eine ganze Zufallszahl im angegebenen Bereich. Im vorliegenden Fall ist dies also eine zufällige Zahl von 1 bis 10.

Die Funktionen des Moduls random können für die zufälligen Werte eines Spiels genutzt werden. Falls Sie zufällige Werte zum Zwecke der Verschlüsselung oder aus Gründen der Sicherheit benötigen, sollten Sie die Funktionen des Moduls secrets nutzen, das es seit Python 3.6 gibt.

3.2.6    Typhinweise


Seit Python 3.6 können Sie angeben, welchen Datentyp eine Variable haben soll. Allerdings haben diese Typhinweise (englisch: type hints), auch Annotationen genannt, bisher nur provisorischen Charakter. Ihre Regeln können sich noch ändern und sind nicht bindend.

Type Hints sollen u.a. die Lesbarkeit des Codes für Entwickler verbessern und...

Dateiformat: EPUB
Kopierschutz: Wasserzeichen-DRM (Digital Rights Management)

Systemvoraussetzungen:

Computer (Windows; MacOS X; Linux): Verwenden Sie eine Lese-Software, die das Dateiformat EPUB verarbeiten kann: z.B. Adobe Digital Editions oder FBReader - beide kostenlos (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)

Das Dateiformat EPUB ist sehr gut für Romane und Sachbücher geeignet - also für "fließenden" Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Wasserzeichen-DRM wird hier ein "weicher" Kopierschutz verwendet. Daher ist technisch zwar alles möglich - sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.

Weitere Informationen finden Sie in unserer E-Book Hilfe.


Dateiformat: EPUB
Kopierschutz: ohne DRM (Digital Rights Management)

Systemvoraussetzungen:

Computer (Windows; MacOS X; Linux): Verwenden Sie eine Lese-Software, die das Dateiformat EPUB verarbeiten kann: z.B. Adobe Digital Editions oder FBReader - beide kostenlos (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)

Das Dateiformat EPUB ist sehr gut für Romane und Sachbücher geeignet - also für "glatten" Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Ein Kopierschutz bzw. Digital Rights Management wird bei diesem E-Book nicht eingesetzt.

Weitere Informationen finden Sie in unserer E-Book Hilfe.


Download (sofort verfügbar)

21,90 €
inkl. 7% MwSt.
Download / Einzel-Lizenz
ePUB mit Wasserzeichen-DRM
siehe Systemvoraussetzungen
E-Book bestellen

21,90 €
inkl. 7% MwSt.
Download / Einzel-Lizenz
ePUB ohne DRM
siehe Systemvoraussetzungen
E-Book bestellen