Kofler | Python | E-Book | sack.de
E-Book

E-Book, Deutsch, 450 Seiten

Reihe: Rheinwerk Computing

Kofler Python

Der Grundkurs
3. Auflage 2024
ISBN: 978-3-367-10120-7
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

Der Grundkurs

E-Book, Deutsch, 450 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-367-10120-7
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



Diese Python-Einführung konzentriert sich auf das Wesentliche: Sie erfahren, wie Sie die Sprache in eigenen Projekten einsetzen, und lernen alle Grundlagen kennen - Datenstrukturen und Typen, Programmierlogik, den Umgang mit Modulen, die Vorteile der funktionalen und objektorientierten Programmierung. So erfahren Sie praxisgerecht, wie Sie mit Python Daten verarbeiten, wiederkehrende Aufgaben automatisieren und viele andere Probleme lösen.
Neu in dieser Auflage: Pair Programming mit ChatGPT und Python in Excel

Aus dem Inhalt:

  • Hello World! Python installieren und einrichten
  • Python lernen mit KI-Unterstützung
  • Variablen, Datenstrukturen, Zeichenketten und Operatoren
  • Listen, Tupel, Arrays, Sets und Dictionarys
  • Verzweigungen und Schleifen, Umgang mit Fehlern
  • Funktionen und funktionale Programmierung
  • Objektorientierte Programmierung: Klassen, Konstrukte, Methoden
  • Module und Python-Interna
  • Daten lesen, schreiben und verarbeiten
  • Python und die Systemadministration
  • Grafikprogrammierung und Oberflächen
  • Wissenschaftliches Arbeiten mit Python, Datenverarbeitung in Excel
Kofler Python jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material


Vorwort ... 13

TEIL I.  Python lernen ... 15  1.  Hello, World! ... 17  1.1 ... Python installieren ... 17  1.2 ... »Hello, World!« in der Python-Shell ... 21  1.3 ... »Hello, World!« als eigenständiges Programm ... 24  1.4 ... Elementare Syntaxregeln ... 30  1.5 ... Wiederholungsfragen ... 36  2.  Python lernen mit KI-Unterstützung ... 37  2.1 ... Mein Programm funktioniert nicht! Warum? ... 39  2.2 ... Mit welcher Funktion löse ich ein bestimmtes Problem? ... 46  2.3 ... Sprachkonzepte erklären ... 47  2.4 ... Programmieren mit ChatGPT ... 48  3.  Variablen ... 55  3.1 ... Grundregeln ... 55  3.2 ... Datentypen ... 57  3.3 ... Gültigkeitsbereich von Variablen ... 58  3.4 ... Wiederholungsfragen ... 60  4.  Operatoren ... 61  4.1 ... Überblick ... 61  4.2 ... Details und Sonderfälle ... 63  4.3 ... Wiederholungsfragen ... 70  5.  Zahlen ... 71  5.1 ... Ganze Zahlen ... 72  5.2 ... FlieT1ss kommazahlen ... 74  5.3 ... Komplexe Zahlen, Brüche und Festkommazahlen ... 76  5.4 ... Boolesche Werte ... 78  5.5 ... Wiederholungsfragen ... 79  6.  Zeichenketten ... 80  6.1 ... Grundregeln ... 80  6.2 ... Zugriff auf Teilzeichenketten ... 84  6.3 ... Zeichenkettenfunktionen ... 86  6.4 ... Zeichenketten formatieren und konvertieren ... 89  6.5 ... Lokalisierung ... 94  6.6 ... Reguläre Ausdrücke ... 97  6.7 ... Wiederholungsfragen und Übungen ... 99  7.  Datum und Zeit ... 100  7.1 ... Zeit ermitteln und darstellen ... 100  7.2 ... Mit Zeiten rechnen ... 105  7.3 ... Wiederholungsfragen und Übungen ... 107  8.  Listen, Tupel, Sets und Dictionaries ... 108  8.1 ... Listen ... 109  8.2 ... Funktionen zur Verarbeitung von Listen ... 112  8.3 ... Tupel (Sequenzen) ... 119  8.4 ... Sets (Mengen) ... 122  8.5 ... Dictionaries ... 124  8.6 ... Arrays ... 128  8.7 ... Wiederholungsfragen und Übungen ... 130  9.  Verzweigungen und Schleifen ... 131  9.1 ... »if«-Verzweigung ... 131  9.2 ... Beispiel: Schaltjahrtest ... 135  9.3 ... »for«-Schleife ... 136  9.4 ... »while«-Schleife ... 144  9.5 ... Beispiele für Schleifen ... 145  9.6 ... Pattern Matching ... 150  9.7 ... Wiederholungsfragen und Übungen ... 151

10.  Funktionen ... 153  10.1 ... Eigene Funktionen definieren ... 154  10.2 ... Lokale und globale Variablen ... 158  10.3 ... Parameter ... 161  10.4 ... Rekursion ... 167  10.5 ... Lambda-Funktionen ... 169  10.6 ... Funktionale Programmierung ... 171  10.7 ... Generatoren ... 174  10.8 ... Wiederholungsfragen und Übungen ... 177

11.  Umgang mit Fehlern (Exceptions) ... 180  11.1 ... Fehlerabsicherung mit »try« und »except« ... 181  11.2 ... Selbst Exceptions auslösen (»raise«) ... 187  11.3 ... Programmunterbrechungen abfangen ... 187  11.4 ... Wiederholungsfragen und Übungen ... 190

12.  Objektorientierte Programmierung ... 192  12.1 ... Crashkurs ... 193  12.2 ... »Hello, Class!« ... 197  12.3 ... Klassen- und Instanzvariablen ... 201  12.4 ... Methoden ... 206  12.5 ... Operator Overloading ... 212  12.6 ... Datenklassen ... 216  12.7 ... Vererbung ... 218  12.8 ... Vererbungsbeispiel: Schachfiguren ... 220  12.9 ... Wiederholungsaufgaben und Übungen ... 226

13.  Module ... 229  13.1 ... Module nutzen (»import«) ... 229  13.2 ... Modul-Interna ... 232  13.3 ... Module installieren (»pip«) ... 234  13.4 ... Eigene Module entwickeln ... 239  13.5 ... Wiederholungsfragen und Übungen ... 243

14.  Interna ... 244  14.1 ... Python-Scripts ausführen ... 244  14.2 ... Interna der Variablenverwaltung ... 250  14.3 ... Garbage Collection ... 254  14.4 ... Shared References ... 256  14.5 ... Type Annotation ... 256  14.6 ... Namensräume erforschen ... 259  14.7 ... Python-Compiler ... 261  14.8 ... Systemfunktionen ... 262  14.9 ... Wiederholungsfragen ... 265

TEIL II.  Python anwenden ... 267

15.  Dateien lesen und schreiben ... 269  15.1 ... Verzeichnisse ... 269  15.2 ... Textdateien lesen und schreiben ... 275  15.3 ... Beispiel: Indexeinträge in Textdateien ändern ... 279  15.4 ... Standardeingabe und Standardausgabe ... 281  15.5 ... JSON-Dateien verarbeiten ... 283  15.6 ... XML-Dateien verarbeiten ... 287  15.7 ... Wiederholungsfragen und Übungen ... 292

16.  Netzwerkfunktionen ... 293  16.1 ... Download und Upload von Dateien ... 293  16.2 ... REST-APIs nutzen ... 297  16.3 ... Mails versenden ... 301

17.  Systemadministration ... 305  17.1 ... Linux-Kommandos aufrufen ... 305  17.2 ... Linux-Accounts einrichten ... 308  17.3 ... MySQL/MariaDB-Datenbankzugriff ... 312  17.4 ... Mehrere gleichartige Datenbanken analysieren ... 317

18.  Grafische Benutzeroberflächen ... 321  18.1 ... »Hello, Qt!« ... 322  18.2 ... Buttons platzieren und nutzen ... 324  18.3 ... Textfelder, Grid-Layout und Nachrichtenboxen ... 328  18.4 ... Dateiauswahl ... 333  18.5 ... Listenfelder ... 336

19.  Grafikprogrammierung ... 340  19.1 ... Grafische Grundfunktionen ... 340  19.2 ... Grafik in einem Widget ... 347  19.3 ... SpaT1ss mit Sinus und Cosinus ... 350  19.4 ... Temperaturkurve zeichnen ... 357

20.  Wissenschaftliche Anwendung ... 364  20.1 ... Anaconda, IPython und Jupyter-Notebooks ... 364  20.2 ... NumPy ... 374  20.3 ... pandas ... 379  20.4 ... SciPy ... 384  20.5 ... Matplotlib ... 388  20.6 ... Python in Excel ... 396  A.  Lösungen ... 405  A.1 ... Kapitel 1: »Hello, World!« ... 405  A.2 ... Kapitel 3: Variablen ... 406  A.3 ... Kapitel 4: Operatoren ... 407  A.4 ... Kapitel 5: Zahlen ... 408  A.5 ... Kapitel 6: Zeichenketten ... 409  A.6 ... Kapitel 7: Datum und Uhrzeit ... 411  A.7 ... Kapitel 8: Listen, Tupel, Sets und Dictionaries ... 413  A.8 ... Kapitel 9: Verzweigungen und Schleifen ... 417  A.9 ... Kapitel 10: Funktionen ... 421  A.10 ... Kapitel 11: Umgang mit Fehlern ... 426  A.11 ... Kapitel 12: Objektorientierte Programmierung ... 427  A.12 ... Kapitel 13: Module ... 432  A.13 ... Kapitel 14: Interna ... 433  A.14 ... Kapitel 15: Dateien lesen und schreiben ... 435  Index ... 439


1.3    »Hello, World!« als eigenständiges Programm


Nachdem Sie Python nun ein wenig kennengelernt haben, besteht Ihr nächstes Ziel darin, ein eigenständiges Programm zu entwickeln, das Hello, World! auf dem Bildschirm ausgibt. Im Prinzip reicht dazu ein beliebiger Editor wie Notepad++. Allerdings müssen Sie sich dann selbst um die Ausführung des Codes kümmern, was ein wenig mühsam ist (siehe auch Abschnitt 14.1).

Viel angenehmer ist es, Python mit einem für diese Sprache optimierten Programm zu erlernen: Ich empfehle Ihnen dafür den kostenlosen Editor Visual Studio Code (im Folgenden kurz VSCode). Wenn Sie später in die Profiliga aufsteigen, werden Sie sich vielleicht mit einer richtigen Python-Entwicklungsumgebung (z. B. PyCharm) oder mit den Jupyter-Notebooks (siehe Kapitel 20) anfreunden.

VSCode samt Python-Erweiterung installieren


Installationsdateien für das Programm VSCode finden Sie für alle gängigen Betriebssysteme auf der folgenden Website:

https://code.visualstudio.com/download

VSCode ist ein universeller Editor für alle erdenklichen Programmiersprachen. Sobald Sie ein erstes Python-Programm unter

Die Python-Erweiterung bringt zwei wesentliche Vorteile mit sich:

  • VSCode »versteht« damit Ihren Python-Code besser, hebt verschiedene Codekomponenten klarer hervor und hilft bei Codeumbauten.

  • VSCode sucht auf Ihrem Rechner nach der Python-Installation und blendet einen Run-Button ein, mit dem Sie Ihr Programm bequem mit einem Klick ausführen können.

VSCode-Schnelleinstieg


Dieses Buch ist nicht der richtige Ort für eine VSCode-Einführung. Im Internet finden Sie bei Bedarf eine Menge Tutorials. Ich beschränke mich hier auf zwei Tipps:

  • VSCode »denkt« in Verzeichnissen. Erstellen Sie auf Ihrem Rechner ein Verzeichnis für Ihre ersten Python-Experimente, unter Windows am besten innerhalb von Dokumente. In VSCode führen Sie dann File • Open Folder aus, um Ihr Verzeichnis zu öffnen. In der Folge können Sie alle Dateien in diesem Verzeichnis bequem bearbeiten. Um später Dateien aus einem anderen Verzeichnis zu öffnen, wiederholen Sie File • Open Folder.

  • Verwenden Sie beim Speichern neuer Codedateien die Kennung *.py. Spätestens dann erkennt VSCode, dass die Datei Python-Code enthält.

Das minimalistische Hello-World-Programm


Nachdem Sie in VSCode eine neue, noch leere Datei erzeugt haben, geben Sie die folgende Zeile ein und speichern die Datei als HelloWorld.py:

print('Hello, World!')

Sofern Sie die Python-Erweiterung installiert haben, können Sie das Programm mit dem Run-Button starten (siehe Abbildung 1.5).

Abbildung 1.5     »Hello, World!« im Editor »VSCode« unter macOS

Shebang-Zeile

Alle Beispieldateien zu diesem Buch beginnen mit der folgenden Zeile:

#!/usr/bin/env python3

In Abschnitt 14.1 erkläre ich Ihnen, dass diese Zeile den merkwürdigen Namen »Shebang« hat. Der Shebang ist erforderlich, um Python-Programme unter Linux und macOS eigenständig (ohne den Run-Button des Editors) auszuführen. Solange Sie das nicht vorhaben, können Sie auf diese Anweisung verzichten. Windows ignoriert die Zeile, dort ist nur die Kennung *.py wichtig.

Noch ein Beispiel


Selbst für Kapitel 1 ist die simple Ausgabe von Hello, World! ein wenig langweilig. Starten Sie nochmals einen Editor, geben Sie den folgenden Code ein, und speichern Sie das Programm unter dem Namen HelloName.py:

import time, locale name = input('Geben Sie Ihren Namen an: ') print('Hallo %s!' % name) locale.setlocale(locale.LC_ALL, 'de_DE') locale.setlocale(locale.LC_ALL, 'german') time = time.strftime('Heute ist %A, der %d. %B.') print(time)

Wenn Sie das Programm ausführen, fragt es zuerst nach Ihrem Namen. Nachdem Sie ihn eingegeben haben, begrüßt das Programm Sie und zeigt das aktuelle Datum an (siehe Abbildung 1.6). Der Programmcode enthält eine Menge Anweisungen, die Sie noch nicht kennen, deren Bedeutung aber leicht zu verstehen ist:

  • import liest (aktiviert) zwei Python-Erweiterungen, die Module genannt werden. time stellt Funktionen zum Umgang mit Datum und Uhrzeit zur Verfügung. locale kümmert sich um die Lokalisierung, also um die Anpassung an landessprachliche Besonderheiten.

  • Die Funktion input gibt die angegebene Zeichenkette am Bildschirm aus und nimmt dann eine Eingabe entgegen. Im Beispielprogramm wird diese Eingabe in der Variablen name gespeichert.

  • print gibt Hallo %s! aus, wobei %s aber durch den Inhalt der nachfolgend genannten Variablen ersetzt wird.

  • locale.setlocale(...) sagt Python, dass es deutsche Spracheinstellungen anwenden soll. Ohne diese Anweisung verwendet Python standardmäßig eine englische Lokalisierung und würde den Wochentag auf Englisch ausgeben.

  • time.strftime(...) ist eine Methode, die Datums- und Zeitdaten in der jeweiligen Landessprache formatiert. Das Ergebnis wird in einer zweiten Variablen, time, gespeichert.

  • print gibt schließlich den Inhalt dieser Variablen aus.

Abbildung 1.6     Ein etwas komplexeres Programm in »VSCode«

Selbstverständlich werden Sie alle hier aufgezählten Sprachelemente von Python in den folgenden Kapiteln noch im Detail kennenlernen.

Beispieldateien zum Buch

Viele Listings in diesem Buch sind nur wenige Zeilen lang. Sie können die Anweisungen direkt im Python-Interpreter ausprobieren.

Daneben gibt es aber auch längere Listings, die wie das vorige Beispiel in einer Datei zu speichern sind. Solche Listings beginnen mit dem Kommentar # Beispieldatei name.py. Das bedeutet, dass Sie sich die Tipparbeit sparen können. Sie finden die entsprechende Datei in den Beispieldateien zum Buch im Verzeichnis für das betreffende Kapitel (also z. B. in kap06 für die Beispiele zu Kapitel 6). Die Beispieldateien zum Buch können Sie hier herunterladen:

https://www.rheinwerk-verlag.de/5882

»Richtige« Entwicklungsumgebungen


Wenn Sie Python gerade lernen, empfehle ich Ihnen, mit VSCode zu arbeiten oder vielleicht Thonny auszuprobieren (siehe https://thonny.org). Sie haben aber vielleicht schon gehört, dass fortgeschrittene Programmierer sogenannte Entwicklungsumgebungen (Integrated Development...



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.