Inhaltsverzeichnis

Vorwort

IEinstieg

1Einführung

1.1Python im Überblick

1.2Los geht’s – Installation

1.2.1Python-Download

1.2.2Installation von Python

1.2.3Nacharbeiten nach der Installation

1.2.4Python-Installation prüfen

1.2.5Python-Programm als Skript ausführen

1.3Entwicklungsumgebungen

1.3.1Installation von PyCharm

1.3.2PyCharm starten

1.3.3Erstes Projekt in PyCharm

1.3.4Erstes Modul in PyCharm

2Schnelleinstieg

2.1Hallo Welt (Hello World)

2.2Variablen und Datentypen

2.2.1Definition von Variablen

2.2.2Variablen und Typen

2.2.3Ausgaben mit print()

2.2.4Bezeichner (Variablennamen)

2.3Operatoren im Überblick

2.3.1Arithmetische Operatoren

2.3.2Zuweisungsoperatoren

2.3.3Vergleichsoperatoren

2.3.4Logische Operatoren

2.4Fallunterscheidungen

2.5Funktionen

2.5.1Eigene Funktionen definieren

2.5.2Nützliche Beispiele aus Python

2.6Fehlerbehandlung und Exceptions

2.7Kommentare

2.8Module

2.8.1Imports – Einbinden anderer Funktionalitäten

2.8.2Zusammenfassung und Ergänzendes

2.9Built-in-Datentypen

2.9.1Listen (list)

2.9.2Tupel (tuple)

2.9.3Mengen (set)

2.9.4Dictionaries (dict)

2.10 Schleifen

2.10.1 Besonderheit: Ranges

2.10.2 Indexbasierte for-in-Schleife

2.10.3 Wertebasierte for-in-Schleife

2.10.4 Die for-in-enumerate-Schleife mit Index und Wert

2.10.5 Die while-Schleife

2.11 Weiterführende Informationen

3Strings

3.1Schnelleinstieg

3.1.1Gebräuchliche Stringaktionen

3.1.2Suchen und Ersetzen

3.1.3Informationen extrahieren und formatieren

3.1.4Praxisrelevante Funktionen im Kurzüberblick

3.2Nächste Schritte

3.2.1Zeichenverarbeitung

3.2.2Strings und Listen

3.2.3Mehrzeilige Strings

4Klassen und Objektorientierung

4.1Schnelleinstieg

4.1.1Grundlagen zu Klassen und Objekten

4.1.2Eigenschaften (Attribute)

4.1.3Verhalten (Methoden)

4.1.4Typprüfung mit isinstance()

4.1.5Objekte vergleichen – die Rolle von __eq__()

4.2Nächste Schritte

4.2.1Klassen ausführbar machen

4.2.2Imports und Packages

4.2.3Übergang zum Einsatz einer IDE

4.2.4Verstecken von Informationen

4.2.5Packages: Auswirkungen auf unsere Applikation

4.3Vererbung

5Collections

5.1Schnelleinstieg

5.1.1Die Klasse list

5.1.2Die Klasse set

5.1.3Die Klasse dict

5.2Nächste Schritte

5.2.1Comprehensions

5.2.2Slicing – Zugriff auf Teilbereiche von Listen

5.2.3Sortierung – sort() / sorted()

5.2.4Tauschen von Elementen – swap()

5.2.5Reihenfolge umkehren – reverse() und reversed()

5.2.6Mehrdimensionale Listen

6Ergänzendes Wissen

6.1Benutzereingaben input()

6.2Zufallswerte und das Modul random

6.3Besonderheiten von Parametern

6.3.1Parameter mit Position bzw. Name

6.3.2Parameter mit Defaultwert

6.3.3Var Args – variable Anzahl an Argumenten

6.4Ternary-Operator

6.5Aufzählungen mit Enum

6.6Fallunterscheidungen mit match

6.7break, continue und else in Schleifen

6.7.1Funktionsweise von break und continue

6.7.2Wie macht man es besser?

6.7.3Besonderheit: else in Schleifen

6.8Ausdrücke mit eval() auswerten

6.9Rekursion

6.9.1Einführendes Beispiel

6.9.2Weiterführendes Beispiel: Fibonacci-Zahlen

6.9.3Praxisbeispiel: Flächen füllen

IIAufstieg

7Collections Advanced

7.1Sequenzielle Datentypen

7.2Iteratoren

7.3Generatoren

7.4Datencontainer mit namedtuple

7.5Einstieg in Lambdas

7.5.1Syntax von Lambdas

7.5.2Lambdas im Einsatz mit filter() und map()

7.5.3Lambdas im Einsatz mit sort()

8Verarbeitung von Dateien

8.1Schnelleinstieg

8.1.1Anlegen von Dateien und Verzeichnissen

8.1.2Aktuelles Verzeichnis wechseln

8.1.3Aktuelles Verzeichnis und absoluten Pfad ermitteln

8.1.4Inhalt eines Verzeichnisses auflisten

8.1.5Pfad ist Datei oder Verzeichnis?

8.1.6Auf Existenz prüfen

8.1.7Informationen in Dateien schreiben und daraus lesen

8.1.8Einfluss der Verarbeitungsmodi

8.1.9Diverse Informationen ermitteln

8.1.10 Kopieren

8.1.11 Umbenennen

8.1.12 Löschen

8.2JSON-Verarbeitung

8.2.1JSON in eine Datei schreiben

8.2.2Lesen von JSON aus einer Datei

8.2.3Pretty Printing

9Fehlerbehandlung mit Exceptions

9.1Schnelleinstieg

9.1.1Fehlerbehandlung

9.1.2Exceptions selbst auslösen – raise

9.1.3Eigene Exception-Typen definieren

9.1.4Propagation von Exceptions

9.2Fehlerbehandlung in der Praxis

9.2.1Elegante Prüfungen mit assert

9.3Automatic Resource Management (with)

10Datumsverarbeitung

10.1 Schnelleinstieg

10.1.1 Zeitpunkte und die Klasse datetime

10.1.2 Datumswerte und die Klasse date

10.1.3 Zeit und die Klasse time

10.1.4 Zeitdifferenzen und die Klasse timedelta

10.1.5 Berechnungen mit Datumswerten

10.1.6 Formatierung und Parsing

IIIAnhang

ASchlüsselwörter im Überblick

BSchnelleinstieg Python-REPL

Literaturverzeichnis

Index