O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Python 3

Book Description

Das Buch führt in die wesentlichen Teile der sehr umfangreichen Programmiersprache Python ein.

Konzepte werden an Beispielen ausführlich dargestellt, um dem Leser die Möglichkeiten

und Grenzen aufzuzeigen, und um ihm ein Gefühl dafür zu geben, was man damit machen

kann. Dabei wird großer Wert auf die möglichen Anwendungen gelegt wie z.B. die objektorientierte Programmierung. Sorgfältig ausgewählte Aufgaben helfen zur Vertiefung.

Python enthält eine außerordentlich umfangreiche Kollektion von Bibliotheken angemessen ausgewählt, importiert und benutzt werden wollen. Auch das wird thematisiert

Aus dem Inhalt:

  • 1. Einführung in die Elemente der Sprache
  • _ Programmierumgebung (und Installation); verfügbare Dokumentation und ihre
  • Handhabung
  • _ Datenstrukturen
  • _ Kontrollstrukturen
  • _ Defnition von Funktionen, funktionale Aspekte der Sprache
  • _ Iteratoren und Generatoren
  • _ Namensrräume
  • _ Module und Importmechanismen
  • 2. Objektorientierung
  • _ Objekte und Vererbung
  • _ Realisierung abstrakter Datentypen
  • _ Ausnahmen
  • 3. Ausgewählte Bibliotheken in Ansätzen dargestellt
  • _ Numpy und Panda zur Manipulation von Daten
  • _ Matplotlib zur graphischen Darstellung von Daten
  • _ Scikit-learn zur Daten-Analyse
  • _ SymPy zur symbolischen Manipulation

Table of Contents

  1. Cover
  2. Titelseite
  3. Impressum
  4. Inhalt
  5. Einführung
  6. 1 Ein erstes Beispiel
    1. 1.1 Implementierungen
    2. 1.2 Diskussion
    3. 1.3 Elementare Kontrollstrukturen
  7. 2 Eine interaktive Umgebung
  8. 3 Elementare Datentypen
    1. 3.1 Primitive Typen
    2. 3.2 Sequentielle Typen
      1. 3.2.1 Listen
      2. 3.2.2 Zeichenketten
      3. 3.2.3 Tupel
      4. 3.2.4 Mengen
      5. 3.2.5 Lexika
    3. 3.3 Reihenfolge der Auswertung
    4. 3.4 Ein Beispiel: Prioritätswarteschlangen als Lexika
    5. 3.5 Der abstrakte Datentyp Prioritätswarteschlange
    6. 3.6 Heaps
    7. 3.7 Der Sortieralgorithmus Heapsort
  9. 4 Funktionen
    1. 4.1 Aufbau und Dokumentation
    2. 4.2 Namensräume
    3. 4.3 Funktionen als Objekte erster Klasse
    4. 4.4 Parameterübergabe
    5. 4.5 Anonyme Funktionen
    6. 4.6 Generatoren und Iteratoren
  10. 5 Module, Dateien und andere Überlebenshilfen
    1. 5.1 Import von Modulen
    2. 5.2 Eigene Module
    3. 5.3 Ein- und Ausgabe: Dateien
      1. 5.3.1 Strukturierte Daten: Der pickle-Modul
      2. 5.3.2 Umleitung der Ein- und der Ausgabe
    4. 5.4 Ein bisschen Graphik: pygal
    5. 5.5 Hilfreich: sys und os
      1. 5.5.1 sys: Interaktion mit dem Interpreter
      2. 5.5.2 os und os.path: Interaktion mit dem Betriebs- und dem Dateisystem
    6. 5.6 Lesen formatierter Daten
      1. 5.6.1 csv
      2. 5.6.2 JSON
      3. 5.6.3 XML
  11. 6 Muster in Zeichenketten
    1. 6.1 Spezifikation von Mustern: Reguläre Ausdrücke
    2. 6.2 Operationen auf Mustern und regulären Ausdrücken
    3. 6.3 Ein kleines Beispiel
  12. 7 Klassen
    1. 7.1 Die Konstruktion von Klassen
      1. 7.1.1 Statische Methoden, Klassen-Methoden
      2. 7.1.2 Suchstrategie
      3. 7.1.3 Getter und Setter
    2. 7.2 Beispiel: Listen als Prioritätswarteschlangen
    3. 7.3 Vererbung
    4. 7.4 Typfragen
      1. 7.4.1 Metaklassen oder: Klassen als Resultate
      2. 7.4.2 Enten als Paradigma zur Typisierung
  13. 8 Ausnahmen
    1. 8.1 Werfen und Fangen: Klauseln für die Ausnahmebehandlung
    2. 8.2 Ausnahmen als Objekte, selbstdefinierte Ausnahmen
    3. 8.3 Kontexte mit with
    4. 8.4 Zusicherungen
  14. 9 Einige Beispiele
    1. 9.1 Bilder
      1. 9.1.1 Ermittlung des Entstehungsdatums
      2. 9.1.2 Einige Operationen auf Bildern: ein kleiner Spaziergang
    2. 9.2 Ein Klassiker: Minimale Gerüste
      1. 9.2.1 Kruskals Algorithmus
      2. 9.2.2 Zur Implementierung
    3. 9.3 Cliquen in ungerichteten Graphen
      1. 9.3.1 Implementierung mit roher Gewalt
      2. 9.3.2 Der Algorithmus von Bron-Kerbosch
    4. 9.4 Noch’n Klassiker: Die Huffman-Verschlüsselung
      1. 9.4.1 Idee für den Algorithmus
      2. 9.4.2 Datenstrukturen
      3. 9.4.3 Berechnung der Codierung
    5. 9.5 Mustererkennung mit Automaten
      1. 9.5.1 Vorbereitende Überlegungen: Ein Automat
      2. 9.5.2 Zur Implementierung
      3. 9.5.3 Zum Vergleich: Implementierungen in Haskell und in Java
  15. 10 Symbolisches Rechnen in Python
    1. 10.1 Vorbereitungen
    2. 10.2 Einfache Operationen
    3. 10.3 Substitutionen und Expansionen
    4. 10.4 Gleichungen
    5. 10.5 Trigonometrische Vereinfachungen
    6. 10.6 Infinitesimalrechnung
    7. 10.7 Matrizen
      1. 10.7.1 Elementare Operationen
      2. 10.7.2 Eigenwerte
  16. 11 Einfache Video-Manipulation
    1. 11.1 Aufbau einer Videodatei
    2. 11.2 Installation der Pakete
    3. 11.3 Wir sehen uns ein Video an
    4. 11.4 Manipulation von Videos
    5. 11.5 Erzeugung einer gif-Datei
  17. 12 Der Besuch von Web-Seiten
    1. 12.1 Die Baumstruktur
    2. 12.2 Eine wunderschöne Suppe?
      1. 12.2.1 Navigation in einem HTML-Dokument
      2. 12.2.2 CSS-basierte Navigation
    3. 12.3 Die Web-Schnittstelle
      1. 12.3.1 Kekse und ihre Krümel
      2. 12.3.2 Nebenbei: HTTP-Anfragen
      3. 12.3.3 Zur Analyse von URLs
  18. 13 Leichtgewichtige Prozesse
    1. 13.1 Einfache Prozesse
    2. 13.2 Konsumenten und Produzenten
      1. 13.2.1 Semaphore
      2. 13.2.2 Bedingte Sperren
      3. 13.2.3 Außer Konkurrenz: Koroutinen
    3. 13.3 Die dinierenden Philosophen
  19. A Aufgaben
  20. B Vordefinierte Ausnahmen
  21. C Ressourcen
  22. Literatur
  23. Stichwortverzeichnis