Book description
- Einführung in alle Sprachgrundlagen: Klassen, Objekte, Vererbung, Kollektionen, Dictionaries
- Benutzungsoberflächen und Multimediaanwendungen mit PyQt, Datenbanken, XML und Internet-Programmierung mit CGI, WSGI und Django
- 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 dahinterstehenden 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 und zusätzlich auch weiterführende Themen wie die Gestaltung grafischer Benutzungsoberflächen mit tkinter und PyQt, Threads und Multiprocessing, Internet-Programmierung, CGI, WSGI und Django, 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.
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
- Datenmodellierung, Datenbanken, XML und JSON
- Grafische Benutzungsoberflächen mit tkinter und PyQt
- Threads und Events, Bildverarbeitung mit PIL
- Systemfunktionen, Testen und Performance-Analyse
- CGI, WSGI und Rapid Web-Development mit Django
- Wissenschaftliche Projekte mit NumPy
- Datenvisualisierung mit Matplotlib und Messwerterfassung
- Parallele Programmierung: Pipes, Queues, Pools
Table of contents
- Python 3
- Impressum
- Einleitung
-
Kapitel 1: Grundlagen
- 1.1 Was ist Programmâieren?
- 1.2 Hardwareâ und Softwareâ
- 1.3 Programm als Algorithmus
- 1.4 Syntax und Semantik
- 1.5 Interpreterâ und Compilerâ
- 1.6 Programmierparadiâgmen
- 1.7 âObjektorientierteâ Programmierung
- 1.8 Hintergrund: Geschichte der objektorientierten Programmierung
- 1.9 Aufgaben
- 1.10 Lösungen
- Kapitel 2: Der Einstieg â Python im interaktiven Modusââ
-
Kapitel 3: Python-Skriptâe
- 3.1 Ausprobieren, nachmachen, besser machen!
- 3.2 Skripte editierenâ und ausführen mit IDLEâ
- 3.3 Ausführen eines Python-Skripts
- 3.4 Kommentarâe
- 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 Fehlerâfindens
- 3.10 Weitere Entwicklungsumgebungen für Python
- 3.11 Aufgaben
- 3.12 Lösungen
-
Kapitel 4: Standard-Datentypâen
- 4.1 Daten als Objekte
- 4.2 Fundamentale Datentypen im Ãberblick
- 4.3 Typen und Klassen
- 4.4 NoneTypâââe
- 4.5 Wahrheitswertâe â der Datentyp boolâ
- 4.6 Ganze Zahlââen
- 4.7 Gleitkommazahlââen
- 4.8 Komplexe Zahlââen
- 4.9 Arithmetische Operatoren für Zahlen
- 4.10 Sequenzâen
- 4.11 Mengeân
- 4.12 Dictionaries
- 4.13 Typumwandlungâen
- 4.14 Aufgaben
- 4.15 Lösungen
-
Kapitel 5: Kontrollstruktuâren
- 5.1 Einfache Bedingungâen
- 5.2 Zusammengesetzte Bedingungen â logische Operatorâen
- 5.3 Programmverzweigungâen (bedingte Anweisungââen)
- 5.4 Bedingte Wiederholungâ (whileâ)
- 5.5 Iterationâ über âeine Kollektion (for)
- 5.6 Abbruch einer Schleifeââ mit breakâ
- 5.7 Abfangen von Ausnahmeân mitââ tryââ
- 5.8 Aufgaben
- 5.9 Lösungen
-
Kapitel 6: Funktionâen
- 6.1 Aufruf von Funktionâen
- 6.2 Definition von Funktionenâ
- 6.3 Schrittweise Verfeinerungâ
- 6.4 Ausführung von Funktioânen
- 6.5 Voreingestellte Parameterwerteââ
- 6.6 Funktionâen mit beliebiger Anzahl von Parameternâ
- 6.7 Lokale Funktionâen
- 6.8 Rekursive Funktionââen
- 6.9 Experimente zur Rekursion mit der Turtle-Grafiâk
- 6.10 Rekursive Zahlenfunktionen
- 6.11 Hintergrund: Wie werden rekursive Funktionen ausgeführt?
- 6.12 Funktionâen 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 Streamsâ
- 9.1.1 Die Rolle der Streams bei E/A-Operationen
- 9.1.2 Was ist ein Stream?
- 9.1.3 Eine Datei öffnen
- 9.1.4 Speichern einer Zeichenkette
- 9.1.5 Laden einer Zeichenkette aus einer Datei
- 9.1.6 Absolute und relative Pfadââe
- 9.1.7 Zwischenspeichern, ohne zu schlieÃen
- 9.1.8 Zugriff auf Streamâs (lesen und schreiben)
- 9.2 Mehr Zuverlässigkeit durch try- und with-Anweisungen
- 9.3 Objektâe speichernâ mit pickleâ
- 9.4 Die Streamsâ sys.stdin und sys.stdoutâ
- 9.5 Ausgabe von Werten mit der print()-Funktion
- 9.6 Kommandozeilen-Argumentâe (Optionâen)
- 9.7 Aufgaben
- 9.8 Lösungen
-
9.1 Streamsâ
-
Kapitel 10: Definition eigener Klasseân
- 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: Klassen wiederverwenden â Moduleâ
- Kapitel 12: Objektorientiertes Modellierenââ
-
Kapitel 13: Textverarbeitungâ
- 13.1 Standardmethoden zur Verarbeitung von Zeichenketten
- 13.2 Codierung und Decodierung
- 13.3 Automatische Textproduktion
- 13.4 Analyseâ von Texten
-
13.5 Reguläre Ausdrückeââ
- 13.5.1 Die Funktion findall() aus dem Modul re
- 13.5.2 Aufbau eines regulären Ausdrucks
- 13.5.3 Objekte âfür reguläre Ausdrücke
- 13.5.4 Strings untersuchen mit search()â
- 13.5.5 Textpassagen extrahieren mit findall()â
- 13.5.6 Zeichenketten zerlegenâ mit split()â
- 13.5.7 Teilstrings ersetzen mit sub()â
- 13.5.8 Match-Objekteââ
- 13.6 Den Computer zum Sprechen bringen â Sprachsyntheseâ
- 13.7 Aufgaben
- 13.8 Lösungen
-
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ächeân mit tkinter
- 15.1 Ein einführendes Beispiel
- 15.2 Einfache Widgetââs
- 15.3 Die Master-Slave-Hierarchieââ
- 15.4 Optionen der Widgetâs
- 15.5 Gemeinsame Methoden der Widgetââs
- 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: Grafiâk
- Kapitel 18: Event-Verarbeitung
- Kapitel 19: Komplexe Benutzungsoberflächen
- Kapitel 20: Threadâs
- 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-Skriptâs
- 22.3 Kommunikation über interaktive Webseiteânââ
- 22.4 Verarbeitung von Eingabedaten mit FieldStorageâ
- 22.5 Sonderzeichen handhaben
- 22.6 CGI-Skriptâe debuggen
- 22.7 Der Apache-Webserverâ
- 22.8 Dynamische Webseiten mit WSGIâ
- 22.9 mod_wsgiâ
- 22.10 Verarbeitung von Eingabedaten aus Formularen
- 22.11 Objektorientierte WSGI-Skripte â Beispiel: ein Chatroomâ
- 22.12 WSGI-Skripte mit Cookies
- Kapitel 23: Internet-Programmierungâ
-
Kapitel 24: Datenbankenâ
- 24.1 Was ist ein Datenbanksystemâ?
- 24.2 Entity-Relationship-Diagrammâe (ER-Diagrammâe)
- 24.3 Relationale Datenbankââen
- 24.4 Darstellung von Relationen als Mengen oder Dictionariâes
- 24.5 Das Modul sqlite3ââ
- 24.6 Online-Redaktionssystemâ mit Datenbankanbindung
- 24.7 Aufgaben
- 24.8 Lösungen
- Kapitel 25: Testenâ und Tuning
-
Kapitel 26: XML und JSONâ
- 26.1 Was ist XML?
- 26.2 XML-Dokumente
- 26.3 Ein XML-Dokument als Baumâ
- 26.4 DOMâ
- 26.5 Das Modul xml.dom.minidomâ
- 26.6 Attributâe von XML-Elementen
- 26.7 Anwendungsbeispiel 1: Eine XML-basierte Klasse
- 26.8 Anwendungsbeispiel 2: Datenkommunikationââ mit XML
- 26.9 JSON
- 26.10 Aufgaben
- 26.11 Lösungen
- Kapitel 27: Modellieren mit Kellern, Schlangen und Graphen
-
Kapitel 28: Benutzungsoberflächen mit Qât
- 28.1 Was bietet PyQt5?â
- 28.2 PyQt5 erkunden
- 28.3 Wie arbeitet PyQt? Applikation und Fenster
- 28.4 Eine objektorientierte Anwendung mit PyQt5
- 28.5 Ein Webbrowseâr
- 28.6 Interaktive Widgetsâ
- 28.7 Labeâl â Ausgabe von Text und Bild
- 28.8 Signalâe
- 28.9 Checkboxâen und Radiobuttonâs
- 28.10 Auswahlliste (ComboBoxâ)
- 28.11 Gemeinsame Operationen der Widgets
- 28.12 Spezielle Methoden eines Fensterâs
- 28.13 Eventâs
- 28.14 Fontâs
- 28.15 Stylesheeâts
- 28.16 Icons
- 28.17 Messageboxâen
- 28.18 Timer
- 28.19 Das Qt-Layoutâ unter der Lupe
- 28.20 Browser für jeden Zweck
- 28.21 Ein Webbrowser mit Filter
- 28.22 Surfen mit Geschichte â der Verlauf einer Sitzung
- 28.23 Aufgaben
- 28.24 Lösungen
- Kapitel 29: Multimediaanwendungen mit Qt
-
Kapitel 30: Rechnen mit NumâPy
- 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 Datenverarbeitunââg
- 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 Ein Projekt anlegen
- 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
- 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 - Lernen und professionell anwenden
- Author(s):
- Release date: November 2022
- Publisher(s): mitp Verlag
- ISBN: 9783747505465
You might also like
book
Python 3 - Lernen und professionell anwenden
Einführung in alle Sprachgrundlagen: Klassen, Objekte, Vererbung, Dictionaries Benutzungsoberflächen und Multimediaanwendungen mit PyQt, Datenbanken, XML und …
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
Python 3 Schnelleinstieg
Programmieren lernen in 14 Tagen Einfach und ohne Vorkenntnisse zum Profi Programmieren lernen ohne Vorkenntnisse In …
book
Architekturpatterns mit Python
Pythons Popularität wächst und mit Python werden inzwischen komplexe Projekte realisiert. Viele Python-Entwicklerinnen und -Entwickler interessieren …