Book description
Das umfassende Praxisbuch- Einführung in alle Sprachgrundlagen: Klassen, Objekte, Vererbung, Dictionaries
- Benutzungsoberflächen und Multimediaanwendungen mit PyQt, Datenbanken, XML und Internet-Programmierung
- Wissenschaftliches Rechnen mit NumPy, parallele Verarbeitung großer Datenmengen, Datenvisualisierung mit Matplotlib
- Übungen mit Musterlösungen zu jedem Kapitel
Die Skriptsprache Python ist mit ihrer einfachen Syntax hervorragend für Einsteiger geeignet, um modernes Programmieren zu lernen. Mit diesem Buch erhalten Sie einen umfassenden Einstieg in Python 3 und lernen darüber hinaus auch weiterführende Anwendungsmöglichkeiten kennen. Michael Weigend behandelt Python von Grund auf und erläutert die wesentlichen Sprachelemente. Er geht dabei besonders auf die Anwendung von Konzepten der objektorientierten Programmierung ein.
Insgesamt liegt der Schwerpunkt auf der praktischen Arbeit mit Python. Ziel ist es, die wesentlichen Techniken und dahinter stehenden Ideen anhand zahlreicher anschaulicher Beispiele verständlich zu machen. Zu typischen Problemstellungen werden Schritt für Schritt Lösungen erarbeitet. So erlernen Sie praxisorientiert die Programmentwicklung mit Python und die Anwendung von Konzepten der objektorientierten Programmierung.
Alle Kapitel enden mit einfachen und komplexen Übungsaufgaben mit vollständigen Musterlösungen. Das Buch behandelt die Grundlagen von Python 3 (Version 3.6) und zusätzlich auch weiterführende Themen wie die Gestaltung grafischer Benutzungsoberflächen mit tkinter und PyQt, Threads und Multiprocessing, CGI- und Internet-Programmierung, automatisiertes Testen, Datenmodellierung mit XML und JSON, Datenbanken, Datenvisualisierung mit Matplotlib und wissenschaftliches Rechnen mit NumPy.
Der Autor wendet sich sowohl an Einsteiger als auch an Leser, die bereits mit einer höheren Programmiersprache vertraut sind. Zugleich bietet sich dieses Lehrbuch als Textgrundlage oder nützliche Ergänzung zu Universitätskursen an.
Aus dem Inhalt:
- Datentypen, Kontrollstrukturen, Funktionen, Generatoren
- Modellieren mit Sequenzen, Dictionaries und Mengen
- Klassen, Objekte, Vererbung, Polymorphie
- Module nutzen und auf PyPI veröffentlichen
- Zeichenketten und reguläre Ausdrücke
- Grafische Benutzungsoberflächen mit tkinter und PyQt
- Threads und Events, Bildverarbeitung mit PIL
- Systemfunktionen, Testen und Performance-Analyse
- XML, CGI- und Internet-Programmierung, Datenbanken
- Wissenschaftliche Projekte mit NumPy
- Datenvisualisierung und Messwerterfassung
- Parallele Programmierung: Pipes, Queues, Pools
Table of contents
- Impressum
- Einleitung
- Kapitel 1: Grundlagen
- Kapitel 2: Der Einstieg – Python im interaktiven Modus
-
Kapitel 3: Python-Skripte
- 3.1 Ausprobieren, nachmachen, besser machen!
- 3.2 Skripte editieren und ausführen mit IDLE
- 3.3 Ausführen eines Python-Skripts
- 3.4 Kommentare
- 3.5 Die Zeilenstruktur von Python-Programmen
- 3.6 Das EVA-Prinzip
- 3.7 Phasen der Programmentwicklung
- 3.8 Guter Programmierstil
- 3.9 Hintergrund: Die Kunst des Fehlerfindens
- 3.10 Weitere Entwicklungsumgebungen für Python
- 3.11 Aufgaben
- 3.12 Lösungen
-
Kapitel 4: Standard-Datentypen
- 4.1 Daten als Objekte
- 4.2 Fundamentale Datentypen im Überblick
- 4.3 Typen und Klassen
- 4.4 NoneType
- 4.5 Wahrheitswerte – der Datentyp bool
- 4.6 Ganze Zahlen
- 4.7 Gleitkommazahlen
- 4.8 Komplexe Zahlen
- 4.9 Arithmetische Operatoren für Zahlen
- 4.10 Sequenzen
- 4.11 Mengen
- 4.12 Dictionaries
- 4.13 Typumwandlungen
- 4.14 Aufgaben
- 4.15 Lösungen
-
Kapitel 5: Kontrollstrukturen
- 5.1 Einfache Bedingungen
- 5.2 Zusammengesetzte Bedingungen – logische Operatoren
- 5.3 Programmverzweigungen (bedingte Anweisungen)
- 5.4 Bedingte Wiederholung (while)
- 5.5 Iteration über eine Kollektion (for)
- 5.6 Abbruch einer Schleife mit break
- 5.7 Abfangen von Ausnahmen mit try
- 5.8 Aufgaben
- 5.9 Lösungen
-
Kapitel 6: Funktionen
- 6.1 Aufruf von Funktionen
- 6.2 Definition von Funktionen
- 6.3 Schrittweise Verfeinerung
- 6.4 Ausführung von Funktionen
- 6.5 Voreingestellte Parameterwerte
- 6.6 Funktionen mit beliebiger Anzahl von Parametern
- 6.7 Lokale Funktionen
- 6.8 Rekursive Funktionen
- 6.9 Experimente zur Rekursion mit der Turtle-Grafik
- 6.10 Rekursive Zahlenfunktionen
- 6.11 Hintergrund: Wie werden rekursive Funktionen ausgeführt?
- 6.12 Funktionen als Objekte
- 6.13 Lambda-Formen
- 6.14 Funktionsannotationen: Typen zuordnen
- 6.15 Hinweise zum Programmierstil
- 6.16 Aufgaben
- 6.17 Lösungen
- Kapitel 7: Sequenzen, Mengen und Generatoren
- Kapitel 8: Dictionaries
-
Kapitel 9: Ein- und Ausgabe
-
9.1 Files
- 9.1.1 Die Rolle der Files bei E/A-Operationen
- 9.1.2 Was ist ein File?
- 9.1.3 Ein File-Objekt erzeugen
- 9.1.4 Speichern einer Zeichenkette
- 9.1.5 Laden einer Zeichenkette aus einer Datei
- 9.1.6 Absolute und relative Pfade
- 9.1.7 Zwischenspeichern, ohne zu schließen
- 9.1.8 Zugriff auf Files (lesen und schreiben)
- 9.1.9 Speichern beliebiger Daten auf Files
- 9.2 Mehr Zuverlässigkeit durch try- und with-Anweisungen
- 9.3 Objekte speichern mit pickle
- 9.4 Die Pseudofiles sys.stdin und sys.stdout
- 9.5 Ausgabe von Werten mit der print()-Funktion
- 9.6 Kommandozeilen-Argumente (Optionen)
- 9.7 Aufgaben
- 9.8 Lösungen
-
9.1 Files
-
Kapitel 10: Definition eigener Klassen
- 10.1 Klassen und Objekte
- 10.2 Definition von Klassen
- 10.3 Objekte (Instanzen)
- 10.4 Zugriff auf Attribute – Sichtbarkeit
- 10.5 Methoden
- 10.6 Abstraktion, Verkapselung und Geheimnisprinzip
- 10.7 Vererbung
- 10.8 Hinweise zum Programmierstil
- 10.9 Typische Fehler
- 10.10 Aufgaben
- 10.11 Lösungen
- Kapitel 11: Klassenbibliotheken in Modulen speichern
- Kapitel 12: Objektorientiertes Modellieren
- Kapitel 13: Textverarbeitung
-
Kapitel 14: Systemfunktionen
- 14.1 Das Modul sys – die Schnittstelle zum Laufzeitsystem
-
14.2 Das Modul os – die Schnittstelle zum Betriebssystem
- 14.2.1 Dateien und Verzeichnisse suchen
- 14.2.2 Hintergrund: Zugriffsrechte abfragen und ändern (Windows und Unix)
- 14.2.3 Dateien und Verzeichnisse anlegen und modifizieren
- 14.2.4 Merkmale von Dateien und Verzeichnissen abfragen
- 14.2.5 Pfade verarbeiten
- 14.2.6 Hintergrund: Umgebungsvariablen
- 14.2.7 Systematisches Durchlaufen eines Verzeichnisbaumes
- 14.3 Datum und Zeit
- 14.4 Zeitberechnungen mit dem Modul datetime
- 14.5 Aufgaben
- 14.6 Lösungen
-
Kapitel 15: Grafische Benutzungsoberflächen mit tkinter
- 15.1 Ein einführendes Beispiel
- 15.2 Einfache Widgets
- 15.3 Die Master-Slave-Hierarchie
- 15.4 Optionen der Widgets
- 15.5 Gemeinsame Methoden der Widgets
- 15.6 Die Klasse Tk
- 15.7 Die Klasse Button
- 15.8 Die Klasse Label
- 15.9 Die Klasse Entry
- 15.10 Die Klasse Radiobutton
- 15.11 Die Klasse Checkbutton
- 15.12 Die Klasse Scale
- 15.13 Die Klasse Frame
- 15.14 Aufgaben
- 15.15 Lösungen
- Kapitel 16: Layout
- Kapitel 17: Grafik
- Kapitel 18: Event-Verarbeitung
- Kapitel 19: Komplexe Benutzungsoberflächen
- Kapitel 20: Threads
- Kapitel 21: Fehler finden und vermeiden
-
Kapitel 22: Dynamische Webseiten – CGI und WSGI
- 22.1 Wie funktionieren dynamische Webseiten?
- 22.2 Wie spät ist es? Aufbau eines CGI-Skripts
- 22.3 Kommunikation über interaktive Webseiten
- 22.4 Verarbeitung von Eingabedaten mit FieldStorage
- 22.5 Sonderzeichen handhaben
- 22.6 CGI-Skripte debuggen
- 22.7 Der Apache-Webserver
- 22.8 Dynamische Webseiten mit WSGI
- 22.9 mod_wscgi
- 22.10 Verarbeitung von Eingabedaten aus Formularen
- 22.11 Objektorientierte WSGI-Skripte – Beispiel: ein Chatroom
- 22.12 WSGI-Skripte mit Cookies
- 22.13 Aufgabe
- 22.14 Lösung
- Kapitel 23: Internet-Programmierung
- Kapitel 24: Datenbanken
- Kapitel 25: Testen und Tuning
- Kapitel 26: XML und JSON
- Kapitel 27: Modellieren mit Kellern, Schlangen und Graphen
-
Kapitel 28: Benutzungsoberflächen mit Qt
- 28.1 Was bietet PyQT5?
- 28.2 Wie arbeitet PyQt? Applikation und Fenster
- 28.3 Eine objektorientierte Anwendung mit PyQt5
- 28.4 Ein Webbrowser
- 28.5 Interaktive Widgets
- 28.6 Label – Ausgabe von Text und Bild
- 28.7 Signale
- 28.8 Checkboxen und Radiobuttons
- 28.9 Auswahlliste (ComboBox)
- 28.10 Gemeinsame Operationen der Widgets
- 28.11 Spezielle Methoden eines Fensters
- 28.12 Events
- 28.13 Fonts
- 28.14 Stylesheets
- 28.15 Icons
- 28.16 Messageboxen
- 28.17 Timer
- 28.18 Das Qt-Layout unter der Lupe
- 28.19 Browser für jeden Zweck
- 28.20 Ein Webbrowser mit Filter
- 28.21 Surfen mit Geschichte – der Verlauf einer Sitzung
- 28.22 Aufgaben
- 28.23 Lösungen
- Kapitel 29: Multimediaanwendungen mit Qt
-
Kapitel 30: Rechnen mit NumPy
- 30.1 NumPy installieren
- 30.2 Arrays erzeugen
- 30.3 Indizieren
- 30.4 Slicing
- 30.5 Arrays verändern
- 30.6 Arithmetische Operationen
- 30.7 Funktionen, die elementweise ausgeführt werden
- 30.8 Einfache Visualisierung
- 30.9 Matrizenmultiplikation mit dot()
- 30.10 Array-Funktionen und Achsen
- 30.11 Projekt: Diffusion
- 30.12 Vergleiche
- 30.13 Projekt: Wolken am Himmel
- 30.14 Projekt: Wie versteckt man ein Buch in einem Bild?
- 30.15 Datenanalyse mit Histogrammen
- 30.16 Wie funktioniert ein Medianfilter?
- 30.17 Rechnen mit SciPy
- 30.18 Aufgaben
- 30.19 Lösungen
- Kapitel 31: Messdaten verarbeiten
-
Kapitel 32: Parallele Datenverarbeitung
- 32.1 Was sind parallele Programme?
- 32.2 Prozesse starten und abbrechen
- 32.3 Funktionen in eigenen Prozessen starten
- 32.4 Prozesse zusammenführen – join()
- 32.5 Wie können Prozesse Objekte austauschen?
- 32.6 Daten im Pool bearbeiten
- 32.7 Synchronisation
- 32.8 Produzenten und Konsumenten
- 32.9 Aufgaben
- 32.10 Lösungen
-
Kapitel 33: Django
- 33.1 Django aus der Vogelperspektive
- 33.2 Start eines Projekts
- 33.3 Datenbankanbindung
- 33.4 Modelle erstellen
- 33.5 Modelle aktivieren
- 33.6 In der Python-Shell die Datenbank bearbeiten
- 33.7 Django-Modelle unter der Lupe
- 33.8 Der Manager unter der Lupe – Objekte erzeugen und suchen
- 33.9 Administration
- 33.10 Views einrichten – die Grundstruktur
- 33.11 View-Funktionen erweitern
- 33.12 Interaktive Webseiten – Views mit Formularen
- 33.13 Die nächsten Schritte
- 33.14 Aufgabe Suche nach Ideen
- 33.15 Lösung
- Anhang A: Anhang
- Anhang B: Glossar
- Anhang C: Download der Programmbeispiele
- Anhang D: Ein Python-Modul veröffentlichen: PyPI
Product information
- Title: Python 3 -- Das umfassende Praxisbuch
- Author(s):
- Release date: July 2019
- Publisher(s): mitp Verlag
- ISBN: 9783747500538
You might also like
book
Python 3 Schnelleinstieg
Programmieren lernen in 14 Tagen Einfach und ohne Vorkenntnisse zum Profi Programmieren lernen ohne Vorkenntnisse In …
book
Python Crashkurs
In der ersten Hälfte des Buches lernen Sie grundlegende Programmierkonzepte wie Listen, Wörterbücher, Klassen und Schleifen. …
book
Routineaufgaben mit Python automatisieren, 2nd Edition
Python eignet sich sehr gut als Einstieg und für viele Standardaufgaben. Wie man mit Python 3 …
book
Python 3 Crashkurs, 2nd Edition
In der ersten Hälfte des Buches werden grundlegende Programmierkonzepte wie Listen, Wörterbücher, Klassen und Schleifen erklärt. …