Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Liebe Leser!
Inhaltsverzeichnis
Vorwort
Teil I Python lernen
1 Hello, World!
1.1 Python installieren
Linux
Windows
macOS (Standardinstallation)
macOS (Manuelle »brew«-Installation)
1.2 »Hello, World!« in der Python-Shell
Python in der Shell kennenlernen
1.3 »Hello, World!« als eigenständiges Script
Das Hello-World-Script unter Windows ausführen
Das Hello-World-Script unter Linux und macOS ausführen
Was ist ein Script?
Windows versus Linux/macOS
Noch ein Beispiel
1.4 Entwicklungsumgebungen (IDEs)
Thonny
1.5 Elementare Syntaxregeln
Anweisungen
Blockelemente
»print«
»input«
Module und »import«
Kommentare
1.6 Wiederholungsfragen
2 Variablen
2.1 Grundregeln
Variablennamen
2.2 Datentypen
Erkennung des Datentyps
Angabe des vorgesehen Datentyps (Type Annotation)
Mutable oder immutable
Veränderliche Daten kopieren
Typumwandlung
2.3 Gültigkeitsbereich von Variablen
2.4 Wiederholungsfragen
3 Operatoren
3.1 Überblick
3.2 Details und Sonderfälle
Division
Zuweisung und Berechnung verbinden
»in«-Operator
Binäre versus logische Operatoren
Short-Circuit-Evaluation
Operatorhierarchie
Variablen und Daten vergleichen
Mehrfachvergleiche
»operator«-Modul
Operatoren selbst implementieren
3.3 Wiederholungsfragen
4 Zahlen
4.1 Ganze Zahlen
Division
Binäre und hexadezimale Darstellung
Zufallszahlen
4.2 Fließkommazahlen
Rundungsfehler
Zufallszahlen
4.3 Komplexe Zahlen, Brüche und Festkommazahlen
Komplexe Zahlen
Rationale Zahlen (Brüche)
Dezimalzahlen
4.4 Boolesche Werte
4.5 Wiederholungsfragen
5 Zeichenketten
5.1 Grundregeln
Zeichenketten aneinanderfügen und vervielfältigen
Sonderzeichen
Raw-Zeichenketten
»chr«- und »ord«-Funktion
5.2 Zugriff auf Teilzeichenketten
»IndexError«
Schrittweite (Stride)
5.3 Zeichenkettenfunktionen
Eigenschaften von Zeichen(ketten) ermitteln
Suchen und ersetzen
5.4 Zeichenketten formatieren und konvertieren
Daten formatieren
Formatierung mit dem %-Operator
Formatierung mit der »format«-Methode
»format«-Kurzschreibweise (ab Python 3.6)
5.5 Lokalisierung
Lokalisierte Zeichenketten in Zahlen umwandeln
Lokalisierungsbeispiel
5.6 Reguläre Ausdrücke
5.7 Wiederholungsfragen und Übungen
6 Datum und Zeit
6.1 Zeit ermitteln und darstellen
Datum aus Zeichenkette einlesen (»parsen«)
Datum ohne Zeit
Zeit ohne Datum
Objekte für einen beliebigen Zeitpunkt
Zeiten mit Zeitzone
6.2 Mit Zeiten rechnen
Zeiten subtrahieren
Laufzeit von Code messen
6.3 Wiederholungsfragen und Übungen
7 Listen, Tupel, Sets und Dictionaries
7.1 Listen
»range«-Funktion
Listen und Zeichenketten
List Comprehension
7.2 Funktionen zur Verarbeitung von Listen
»map«-Funktion
»reduce«-Funktion
»filter«-Funktion
Listen sortieren
Zeichenketten mit deutschen Buchstaben sortieren
7.3 Tupel (Sequenzen)
Anwendungsfälle
»zip«-Funktion
7.4 Sets (Mengen)
»set«-Methoden
Mengenlehre
7.5 Dictionaries
Dictionaries (assoziative Arrays)
Verarbeitung von Dictionary-Elementen
»zip«-Funktion
7.6 Type Annotations
7.7 Arrays
7.8 Wiederholungsfragen und Übungen
8 Verzweigungen und Schleifen
8.1 »if«-Verzweigung
»pass«-Schlüsselwort
»if«-Kurzschreibweise
Kein »switch«
8.2 Beispiel: Schaltjahrtest
8.3 »for«-Schleife
Schleifen über Zahlenbereiche (»range«)
Schleifen über die Zeichen einer Zeichenkette
Schleifen über Listen, Tupel und Sets
»enumerate«-Funktion
List/Set/Tupel Comprehension
Schleifen über Dictionaries, Dictionary Comprehension
Generator Expressions
»break«, »continue« und »else«
»_« als Schleifenvariable
8.4 »while«-Schleife
8.5 Beispiele für Schleifen
Summe der Zahlen von 1 bis 1.000
Einmaleins-Tabelle
Parameter verarbeiten
8.6 Wiederholungsfragen und Übungen
9 Funktionen
9.1 Eigene Funktionen definieren
»Hello, Function!«
Beispiel: Zufällige Zeichenkette
Beispiel: Passwortgenerator
9.2 Lokale und globale Variablen
Variablenverwaltung
Globale Variablen
9.3 Parameter
Parameter für unveränderliche Typen (immutable)
Parameter für veränderliche Typen (mutable)
Optionale Parameter
Variable Parameteranzahl
Parametertyp überprüfen
Type Annotations
9.4 Rekursion
Fakultät rekursiv berechnen
Unkontrollierte Rekursion
9.5 Lambda-Funktionen
9.6 Funktionale Programmierung
Beispiel: Funktionsgenerator
Beispiel: verschachtelter Funktionsgenerator
Beispiel: Listengenerator
9.7 Generatoren
Beispiel: Fibonacci-Zahlen
9.8 Wiederholungsfragen und Übungen
10 Umgang mit Fehlern (Exceptions)
10.1 Fehlerabsicherung mit »try« und »except«
Beispiel
Catch-all-Absicherung
Auswertung von Exception-Objekten
Nichts tun mit »pass«
Fehler in verschachteltem Code
10.2 Selbst Exceptions auslösen (»raise«)
10.3 Programmunterbrechungen abfangen
Absicherung mit »try«/»except«
Absicherung mit »signal«
Probleme beim Programmabbruch
10.4 Wiederholungsfragen und Übungen
11 Objektorientierte Programmierung
11.1 Crashkurs
Funktionen helfen, Teilaufgaben zu lösen
Klassen bringen Daten und Methoden zusammen
Objekte sind konkrete Ausformungen von Klassen
Begriffe (Nomenklatur)
11.2 »Hello, Class!«
Konstruktor
Methoden
Verwendung der Klasse (»Hello, Object!«)
11.3 Klassen- und Instanzvariablen
Namensräume
Nochmals Instanz- versus Klassenvariable
Type Annotations
Private Instanzvariablen
11.4 Methoden
Statische Methoden versus Instanzmethoden
Methoden innerhalb einer Klasse aufrufen
Getter- und Setter-Methoden (Eigenschaften)
11.5 Operator Overloading
Gleichheitstest (»eq«-Methode)
Umwandlung in Zeichenkette (»str« und »repr«)
Größenvergleich (»lt« und »le«)
Hash-Funktion
11.6 Unveränderliche Objekte
Hash-Funktionen für veränderliche Objekte
Veränderungen von außen verhindern
11.7 Datenklassen
Unveränderliche Datenklassen
11.8 Vererbung
Klassenzuordnung und -hierarchie feststellen
Beispiel: Schachfiguren
Klasse für Pferd/Springer
Klasse für Läufer
Mehrfachvererbung
11.9 Wiederholungsaufgaben und Übungen
12 Module
12.1 Module nutzen (»import«)
»import as«
»from import«
12.2 Modul-Interna
Welche Module stehen zur Verfügung?
Wo befinden sich Moduldateien?
Welche Module sind geladen?
12.3 Module installieren (»pip«)
»pip« installieren oder aktualisieren
Pakete installieren und verwalten
12.4 Eigene Module entwickeln
Variablen über mehrere Module teilen
Packages
»pycache«-Verzeichnis
12.5 Wiederholungsfragen und Übungen
13 Interna
13.1 Garbage Collection
13.2 Shared References
13.3 Namensräume erforschen
13.4 Python-Compiler
13.5 Systemfunktionen
Programmparameter
Andere Programme bzw. Kommandos aufrufen
Warten (»sleep«)
Asynchrone Programmierung
Programm beenden
13.6 Python 2
»print«
»input«
Ganze Zahlen
Operatoren
Zahlenbereiche (»range«/»xrange«)
Listen und andere Aufzählungen
Unicode
Exceptions (Fehler)
»future«-Modul
Teil II Python anwenden
14 Dateien lesen und schreiben
14.1 Verzeichnisse
Das aktuelle Verzeichnis
Das Codeverzeichnis
Heimatverzeichnis ermitteln
Temporäres Verzeichnis und temporäre Dateien
Verzeichnis- und Dateinamen kombinieren und zerlegen
Verzeichnisse erstellen, umbenennen und löschen
Verzeichnisse durchsuchen
14.2 Textdateien lesen und schreiben
»Hello, File!«
Dateien mit »with/as« automatisch schließen
14.3 Beispiel: Indexeinträge in Textdateien ändern
14.4 Standardeingabe und Standardausgabe
Beispiel
14.5 JSON-Dateien verarbeiten
»Hello, JSON!«
JSON-Dokumente erzeugen
JSON für Objekte eigener Klassen
14.6 XML-Dateien verarbeiten
»Hello, XML!«
Beispiel: Newsfeed auswerten
14.7 Wiederholungsfragen und Übungen
15 Netzwerkfunktionen
15.1 Download und Upload von Dateien
Zertifikatsprobleme unter macOS
Große Dateien stückweise herunterladen
FTP
15.2 Mails versenden
Mail-Versand an einen externen SMTP-Server
HTML-Mail
Bild hinzufügen
Weitere Mail-Varianten
15.3 Dropbox
Dropbox-Zugang testen
Upload
Download
15.4 Twitter
Tweet senden
16 Systemadministration
16.1 Linux-Kommandos aufrufen
Ergebnisse verarbeiten
Kommando durch die »bash« ausführen
Fehler beim Kommandoaufruf
16.2 Linux-Accounts einrichten
Passwörter erzeugen
Dateien lesen und schreiben
Kommandos aufrufen
Script ausführen
Accounts wieder löschen
16.3 MySQL/MariaDB-Datenbankzugriff
Voraussetzungen
»Hello, Database!«
Verbindungsaufbau
SQL-Kommandos ausführen
SELECT-Ergebnisse verarbeiten
Weitere Informationen
16.4 Mehrere gleichartige Datenbanken analysieren
SELECT-Kommando zusammenstellen
Liste der Kundendatenbanken einlesen
Datenbankverbindung herstellen, Abfragen durchführen
Auswertung
17 Raspberry Pi
17.1 GPIO-Zugriff mit RPi.GPIO
GPIO-Setup
LED ein- und ausschalten
LED-Helligkeit steuern
Zustand eines Tasters auswerten
Taster entprellen
17.2 LED-Ampel für die CPU-Temperatur
Code
Test
17.3 GPIO-Zugriff mit »gpiozero«
Nochmals die CPU-Temperatur visualisieren
17.4 Sense HAT
»Hello, Sense HAT!«
Das Display Pixel für Pixel steuern
Pixel mit Joystick bewegen
Pixel mit dem Gyroscope-Sensor bewegen
18 Grafische Benutzeroberflächen
18.1 »Hello, Qt!«
18.2 Buttons platzieren und nutzen
Gewöhnliche Buttons
Auswahlhäkchen (Checkboxes) und Radio-Buttons
18.3 Textfelder, Grid-Layout und Nachrichtenboxen
Grid-Layout
Nachrichtenbox anzeigen
18.4 Dateiauswahl
Beispiel
18.5 Listenfelder
Beispiel: Länderauswahl
18.6 Oberfläche zur GPIO-Steuerung
Programmaufbau
Schieberegler (»QSlider«)
Periodischer Aufruf einer Methode (»QTimer«)
19 Grafikprogrammierung
19.1 Grafische Grundfunktionen
Linien
Rechtecke und Polygone
Kreise und Ellipsen
Text
Hintergrundfarbe einstellen
19.2 Grafik in einem Widget
Grafik in PNG-Datei speichern
19.3 Spaß mit Sinus und Cosinus
Programmaufbau
Einen Kreis zeichnen
Spiralkurve zeichnen
Linienmuster zeichnen
Bunte, verdrehte Rechtecke auf einer Spiralkurve zeichnen
19.4 Temperaturkurve anzeigen
Programmaufbau
Daten einlesen
Gitter zeichnen und beschriften
Temperaturkurve zeichnen
Verbesserungsmöglichkeiten
20 Wissenschaftliche Anwendung
20.1 Anaconda, IPython und Jupyter-Notebooks
Installation
Paketmanager »conda«
IPython
Jupyter-Notebooks
20.2 NumPy
Matrizen erzeugen und speichern
Slicing
Mit Matrizen rechnen
20.3 pandas
Serien (»Series«-Klasse)
Tabellen (»DataFrame«-Klasse)
20.4 SciPy
Beispiel 1: Minimum einer Funktion suchen
Beispiel 2: Interpolationsfunktion
20.5 Matplotlib
»Hello, Matplotlib!«
»vectorize«-Funktion
Diagramm und Achsen beschriften
Mehrteilige Diagramme
Temperaturkurve
Andere Diagrammtypen
A Lösungen
A.1 Kapitel 1: »Hello, World!«
A.2 Kapitel 2: Variablen
A.3 Kapitel 3: Operatoren
A.4 Kapitel 4: Zahlen
A.5 Kapitel 5: Zeichenketten
A.6 Kapitel 6: Datum und Uhrzeit
A.7 Kapitel 7: Listen, Tupel, Sets und Dictionaries
A.8 Kapitel 8: Verzweigungen und Schleifen
A.9 Kapitel 9: Funktionen
A.10 Kapitel 10: Umgang mit Fehlern
A.11 Kapitel 11: Objektorientierte Programmierung
A.12 Kapitel 12: Module
A.13 Kapitel 14: Dateien lesen und schreiben
Stichwortverzeichnis
Rechtliche Hinweise
Über den Autor
← Prev
Back
Next →
← Prev
Back
Next →