Book description
- 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 mit Matplotlib und Messwerterfassung
- Parallele Programmierung: Pipes, Queues, Pools
Table of contents
- Umschlag
- Titel
- Impressum
- Inhaltsverzeichnis
- Einleitung
- 1 Grundlagen
- 2 Der Einstieg – Python im interaktiven Modus
- 3 Python-Skripte
-
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
-
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
-
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 Hinweise zum Programmierstil
- 6.15 Aufgaben
- 6.16 Lösungen
- 7 Sequenzen, Mengen und Generatoren
- 8 Dictionaries
-
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 Übungen
- 9.8 Lösungen
-
9.1 Files
-
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 Statische Methoden
- 10.7 Abstraktion, Verkapselung und Geheimnisprinzip
- 10.8 Vererbung
- 10.9 Hinweise zum Programmierstil
- 10.10 Typische Fehler
- 10.11 Aufgaben
- 10.12 Lösungen
- 11 Klassenbibliotheken in Modulen speichern
- 12 Objektorientiertes Modellieren
- 13 Verarbeitung von Zeichenketten
-
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 Aufgaben
- 14.5 Lösungen
-
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
- 16 Layout
- 17 Grafik
- 18 Event-Verarbeitung
- 19 Komplexe Benutzungsoberflächen
- 20 Threads
- 21 Fehler finden und vermeiden
-
22 CGI-Programmierung
- 22.1 Wie funktionieren CGI-Skripte?
- 22.2 Wie spät ist es? Aufbau eines CGI-Skripts
- 22.3 Kommunikation über interaktive Webseiten
- 22.4 Verarbeitung von Eingabedaten in einem CGI-Skript
- 22.5 Sonderzeichen handhaben
- 22.6 CGI-Skripte debuggen
- 22.7 Objektorientierte CGI-Skripte – Beispiel: ein Chatroom
- 22.8 CGI-Skripte mit Cookies
- 22.9 Aufgaben
- 22.10 Lösungen
- 23 Internet-Programmierung
- 24 Datenbanken
- 25 Testen und Tuning
- 26 XML und JSON
- 27 Modellieren mit Kellern, Schlangen und Graphen
-
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
- 29 Multimediaanwendungen mit Qt
-
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
- 31 Messdaten verarbeiten
-
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
- A Anhang
- B Glossar
- C Download der Programmbeispiele
- D Ein Python-Modul veröffentlichen: PyPI
Product information
- Title: Python 3 - Lernen und professionell anwenden
- Author(s):
- Release date: March 2018
- Publisher(s): mitp Verlag
- ISBN: 9783958457935
You might also like
book
Python 3 - Lernen und professionell anwenden
Einführung in alle Sprachgrundlagen: Klassen, Objekte, Vererbung, Kollektionen, Dictionaries Benutzungsoberflächen und Multimediaanwendungen mit PyQt, Datenbanken, XML …
book
Python 3 für Studium und Ausbildung
Alle wichtigen Grundlagen der Python-Programmierung Für alle Studiengänge geeignet, keine Vorkenntnisse notwendig Mit Übungsaufgaben und leicht …
book
Programmieren lernen mit Python - so einfach!
Alle Python-Grundlagen anschaulich in Bildern erklärt Spielend leicht von ersten kleinen Programmen bis zu cleveren Tricks …
book
Python: kurz & gut
Python ist eine objektorientierte Sprache zum Schreiben von Skripten, Programmen und Prototypen. Python ist frei verfügbar, …