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 von Kopf bis Fuß, 2nd Edition

Book Description

Haben Sie sich schon einmal gewünscht, Sie könnten mit nur einem Buch Python richtig lernen? Mit Python von Kopf bis Fuß schaffen Sie es! Durch die ausgefeilte Von-Kopf-bis-Fuß-Didaktik, die viel mehr als die bloße Syntax und typische How-to-Erklärungen bietet, wird es sogar zum Vergnügen. Die einzigartige Methode dieses Arbeitsbuchs setzt auf die spielerische, visuell anregende Vermittlung von Wissen und bietet Ihnen so ein unterhaltsames Lernerlebnis.Python-Grundlagen wie Datenstrukturen und Funktionen verstehen Sie hier schnell, und dann geht es auch schon weiter: Sie programmieren Ihre eigene Web-App, erkunden Datenbank-Management, Ausnahmebehandlung und die Verarbeitung von Daten. Da Python häufig im Data Science-Umfeld eingesetzt wird, haben in der 2. Auflage diejenigen Techniken ein stärkeres Gewicht bekommen, die in der Welt der Big Data genutzt werden.

Table of Contents

  1. Cover
  2. Titel
  3. Impressum
  4. Über den Autor von Python von Kopf bis Fuß, 2. Auflage
  5. Inhaltsverzeichnis
  6. Einführung
    1. Für wen ist dieses Buch?
    2. Wir wissen, was Sie gerade denken
    3. Und wir wissen, was Ihr Gehirn gerade denkt
    4. Metakognition: Nachdenken übers Denken
    5. Das haben WIR getan
    6. Lies mich
  7. 1 Die Grundlagen: Volle Kraft voraus!
    1. Die IDLE-Fenster verstehen
    2. Code ausführen, eine Anweisung nach der anderen
    3. Funktionen + Module = Standardbibliothek
    4. Datenstrukturen sind schon eingebaut
    5. Methodenaufrufe haben Ergebnisse
    6. Entscheiden, wann Codeblöcke ausgeführt werden
    7. Welche »else« will schon mit »if«?
    8. Suiten können selbst Suiten enthalten
    9. Zurück zur Python-Shell
    10. Experimente auf der Shell
    11. Über eine Folge von Objekten iterieren
    12. Eine bestimmte Anzahl von Wiederholungen ausführen
    13. Das Ergebnis von Aufgabe 1 auf unseren Code anwenden
    14. Die Ausführung unterbrechen
    15. Zufallszahlen mit Python erzeugen
    16. Eine ernsthafte Businessapplikation programmieren
    17. Machen die Einrückungen Sie verrückt?
    18. Mit dem help-Befehl des Interpreters den Hilfetext zu einer Funktion anzeigen
    19. Mit Wertebereichen experimentieren
    20. Der Code aus Kapitel 1
  8. 2 Listendaten: Mit geordneten Daten arbeiten
    1. Zahlen, Strings … und Objekte
    2. Die vier eingebauten Datentypen
    3. Eine ungeordnete Datenstruktur: Dictionary
    4. Eine Datenstruktur ohne Duplikate: Set
    5. Literale Erzeugung von Listen
    6. Wenn Sie mit mehr als ein paar Codezeilen arbeiten, sollten Sie den Editor benutzen
    7. Eine Liste zur Laufzeit »wachsen lassen«
    8. Zugehörigkeit mit »in« überprüfen
    9. Objekte aus einer Liste entfernen
    10. Eine Liste mit Objekten erweitern
    11. Objekte in eine Liste einfügen
    12. Datenstrukturen richtig kopieren
    13. Listen erweitern die Schreibweise der eckigen Klammern
    14. Listen verstehen start, stop und step
    15. start- und stop-Werte für Listen
    16. Listen mithilfe von Slices bearbeiten
    17. Pythons »for«-Schleife versteht Listen
    18. Marvins Slices im Detail
    19. Wann man Listen nicht benutzen sollte
    20. Der Code aus Kapitel 2, 1 von 2
  9. 3 Strukturierte Daten: Mit strukturierten Daten arbeiten
    1. Ein Dictionary speichert Schlüssel/Wert-Paare
    2. Dictionaries im Code erkennen
    3. Reihenfolge des Einfügens wird NICHT beibehalten
    4. Werte mithilfe eckiger Klammern nachschlagen
    5. Zur Laufzeit mit Dictionaries arbeiten
    6. Einen Frequenzzähler aktualisieren
    7. Über ein Dictionary iterieren
    8. Über Schlüssel und Werte iterieren
    9. Mithilfe von »items« über ein Dictionary iterieren
    10. Wie dynamisch sind Dictionaries wirklich?
    11. KeyError-Laufzeitfehler vermeiden
    12. Vorhandensein mit »in« überprüfen
    13. Initialisierung vor Gebrauch sicherstellen
    14. »in« durch »not in« ersetzen
    15. Die »setdefault«-Methode verwenden
    16. Sets effektiv erzeugen
    17. Set-Methoden sinnvoll nutzen
    18. Ein Plädoyer für Tupel
    19. Eingebaute Datenstrukturen kombinieren
    20. Auf Daten einer komplexen Datenstruktur zugreifen
    21. Der Code aus Kapitel 3, Seite 1 von 2
  10. 4 Code wiederverwenden: Funktionen und Module
    1. Code mithilfe von Funktionen wiederverwenden
    2. Einführung in Funktionen
    3. Rufen Sie Ihre Funktionen auf
    4. Funktionen können Argumente übernehmen
    5. Einen Wert zurückgeben
    6. Mehr als einen Wert zurückgeben
    7. Eingebaute Datenstrukturen: Wiederholung
    8. Eine allgemein nützliche Funktion erstellen
    9. Eine neue Funktion erstellen, 1 von 3
    10. Standardwerte für Argumente definieren
    11. Positionelle und Schlüsselwortzuweisung im Vergleich
    12. Aktualisierung unseres Wissens über Funktionen
    13. Python auf der Kommandozeile ausführen
    14. Die erforderlichen Setup-Dateien erstellen
    15. Eine Distributionsdatei erstellen
    16. Pakete mit »pip« installieren
    17. Demonstration von Werteparametern
    18. Demonstration von Referenzparametern
    19. Die Entwicklerwerkzeuge zum Testen installieren
    20. Wie PEP 8-konform ist unser Code?
    21. Die Fehlermeldungen verstehen
    22. Der Code aus Kapitel 4
  11. 5 Eine Webapplikation erstellen: Auf ins wahre Leben!
    1. Python: Was Sie bereits wissen
    2. Was soll unsere Webapplikation können?
    3. Flask installieren
    4. Wie funktioniert Flask?
    5. Die Flask-Web-App zum ersten Mal ausführen
    6. Ein Flask-Webapplikationsobjekt erzeugen
    7. Eine Funktion mit einer URL dekorieren
    8. Das Verhalten Ihrer Webapplikation testen
    9. Funktionalität im Web bereitstellen
    10. Das HTML-Formular erstellen
    11. Templates beziehen sich auf Webseiten
    12. Templates mit Flask rendern
    13. Das Formular der Webapplikation anzeigen
    14. Vorbereitungen zum Ausführen des Template-Codes
    15. HTTP-Statuscodes verstehen
    16. Mit POST-Daten umgehen
    17. Den Zyklus aus Bearbeiten, Anhalten, Starten und Testen optimieren
    18. Mit Flask auf Formulardaten zugreifen
    19. Die Formulardaten in der Webapplikation verwenden
    20. Die Ergebnisse als HTML ausgeben
    21. Die Webapplikation für die Cloud vorbereiten
    22. Der Code aus Kapitel 5
  12. 6 Daten speichern und bearbeiten: Wo kommen die Daten hin?
    1. Etwas mit den Daten Ihrer Webapplikation anstellen
    2. Python unterstützt die Öffnen-Bearbeiten-Schließen-Technik
    3. Daten aus einer bestehenden Datei lesen
    4. Eine bessere Version von Öffnen-Bearbeiten-Schließen: »with«
    5. Das Protokoll von der Webapplikation anzeigen lassen
    6. Die Rohdaten per »Quelltext anzeigen« untersuchen
    7. Es ist Zeit, Ihre Daten zu escapen
    8. Die gesamte Log-Datei in der Webapplikation betrachten
    9. Bestimmte Attribute des Web-Requests protokollieren
    10. Eine Zeile voneinander getrennter Datenfelder protokollieren
    11. Von Rohdaten zu lesbaren Ausgaben
    12. Lesbare Ausgaben mit HTML erzeugen
    13. Darstellungslogik in das Template integrieren
    14. Mit Jinja2 lesbare Ausgaben erzeugen
    15. Der aktuelle Status Ihres Webapplikationscodes
    16. Die Daten befragen
    17. Der Code aus Kapitel 6
  13. 7 Datenbanken benutzen: Die DB-API von Python verwenden
    1. Die Webapplikation für die Benutzung von Datenbanken vorbereiten
    2. Aufgabe 1: Den MySQL-Server installieren
    3. Einführung in die DB-API von Python
    4. Aufgabe 2: Einen MySQL-Datenbanktreiber für Python installieren
    5. MySQL-Connector/Python installieren
    6. Aufgabe 3: Die Datenbank und die nötigen Tabellen für die Webapplikation erstellen
    7. Eine Struktur für Ihre Log-Daten definieren
    8. Bestätigen Sie, dass die Tabelle für die Daten bereit ist
    9. Aufgabe 4: Den Code für die Datenbank und die Tabellen unserer Webapplikation schreiben
    10. Daten speichern ist die halbe Miete
    11. Wie kann der Datenbankcode am besten wiederverwendet werden?
    12. Überlegen Sie, was Sie hier wiederverwenden wollen
    13. Und was ist mit import?
    14. Sie kennen dieses Muster bereits
    15. So schlecht sind die schlechten Nachrichten gar nicht
    16. Der Code aus Kapitel 7
  14. 8 Ein bisschen Klasse: Verhalten und Zustand abstrahieren
    1. Sich in die »with«-Anweisung einklinken
    2. Kurze Einführung in Objektorientierung
    3. Objekte aus Klassen erzeugen
    4. Objekte übernehmen das Verhalten, aber nicht den Zustand
    5. Mehr mit CountFromBy anfangen
    6. Methodenaufrufe: Die Details verstehen
    7. Methoden einer Klasse hinzufügen
    8. Die Bedeutung von »self«
    9. Die Gültigkeit von Geltungsbereichen
    10. Stellen Sie Ihren Attributnamen »self« voran
    11. (Attribut-)Werte vor Gebrauch initialisieren
    12. __init__ initialisiert Attribute
    13. Attribute mit »__init__« initialisieren
    14. Die Darstellung von CountFromBy verstehen
    15. Die Darstellung von CountFromBy selbst definieren
    16. Sinnvolle Standardwerte für CountFromBy
    17. Klassen: Was wir bereits wissen
    18. Der Code aus Kapitel 8
  15. 9 Das Kontextmanagement-Protokoll: Sich in Pythons with-Anweisung einklinken
    1. Wie können wir den Code unserer Webapplikation am besten mit anderen teilen?
    2. Kontext anhand von Methoden verwalten
    3. Sie kennen den Kontextmanager bereits
    4. Eine neue Klasse für den Kontextmanager erstellen
    5. Die Klasse mit der Datenbankkonfiguration initialisieren
    6. Setup mit »__enter__«
    7. Teardown mit »__exit__«
    8. Den Code der Webapplikation überdenken, Teil 1 von 2
    9. Die »log_request«-Funktion auf dem Prüfstand
    10. Die »log_request«-Funktion anpassen
    11. Die »view_the_log«-Funktion auf dem Prüfstand
    12. Nicht nur der Code ändert sich
    13. Die »view_the_log«-Funktion anpassen
    14. Die Datenfragen beantworten
    15. Der Code aus Kapitel 9, 1 von 2
  16. 10 Funktionsdekoratoren: Funktionen verpacken
    1. Der Webserver (nicht Ihr Computer) führt den Code aus
    2. Zustandsverwaltung mit Flasks Sessions
    3. Den Zustand im Dictionary nachschlagen
    4. Anmeldevorgänge mit Sessions verwalten
    5. Log-out und Status überprüfen
    6. Eine Funktion an eine Funktion übergeben
    7. Eine übergebene Funktion aufrufen
    8. Eine Liste mit Argumenten übernehmen
    9. Eine Liste mit Argumenten verarbeiten
    10. Ein Dictionary mit Argumenten übernehmen
    11. Ein Dictionary mit Argumenten verarbeiten
    12. Funktionsargumente von beliebiger Zahl und beliebigem Typ übernehmen
    13. Einen Funktionsdekorator erstellen
    14. Der letzte Schritt: Mit Argumenten umgehen
    15. Der Dekorator im praktischen Einsatz
    16. Zurück zur Zugangsbeschränkung für /viewlog
    17. Der Code aus Kapitel 10, Teil 1 von 2
  17. 11 Mit Ausnahmen umgehen: Was zu tun ist, wenn mal etwas schiefgeht
    1. Datenbanken sind nicht immer verfügbar
    2. Angriffe aus dem Web können richtig nerven
    3. Ein- und Ausgaben sind (manchmal) langsam
    4. Funktionsaufrufe können fehlschlagen
    5. Versuchen Sie immer, möglicherweise fehlerhaften Code auszuführen
    6. Ein try, viele excepts
    7. Ein Handler, sie zu knechten …
    8. Mit »sys« mehr über Ausnahmen erfahren
    9. Noch mal: der »catch all«-Ausnahme-Handler
    10. Zurück zum Code unserer Webapplikation
    11. Ausnahmen leise handhaben
    12. Mit anderen Datenbankfehlern umgehen
    13. Vermeiden Sie eng verbundenen Code
    14. Wiedersehen mit dem DBcm-Modul
    15. Eigene Ausnahmen erstellen
    16. Was kann mit »DBcm« noch schiefgehen?
    17. Die Behandlung von SQLError funktioniert anders
    18. Einen SQLError auslösen
    19. Ein schneller Rückblick: Robustheit hinzufügen
    20. Wie mit Wartezeiten umgehen? Kommt drauf an …
    21. Der Code aus Kapitel 11, 1 von 3
  18. 11¾ Ein bisschen Threading: Taten statt Warten
    1. Warten: Was ist zu tun?
    2. Wie fragen Sie Ihre Datenbank ab?
    3. Datenbank-INSERTs und -SELECTs sind verschieden
    4. Mehrere Dinge gleichzeitig tun
    5. Keine Sorge. Benutzen Sie Threads
    6. Das Wichtigste zuerst: keine Panik
    7. Keine Sorge: Flask kann helfen
    8. Ist Ihre Webapplikation jetzt robust?
    9. Der Code aus Kapitel 11¾, 1 von 2
  19. 12 Fortgeschrittene Iteration: Schleifen wie verrückt
    1. CSV-Daten als Listen einlesen
    2. CSV-Daten als Dictionaries einlesen
    3. Rohdaten säubern und trennen
    4. Vorsicht beim Verketten von Methodenaufrufen
    5. Daten in das benötigte Format umwandeln
    6. Die Daten in ein Dictionary mit Listen umwandeln
    7. Das Programmiermuster bei Listen erkennen
    8. Programmiermuster in Comprehensions umwandeln
    9. Ein genauerer Blick auf Comprehensions
    10. Eine Dictionary-Comprehension definieren
    11. Comprehensions mit Filtern erweitern
    12. Pythons Weg für den Umgang mit Komplexität
    13. Set-Comprehensions in Aktion
    14. Und was ist mit »Tupel-Comprehensions«?
    15. Runde Klammern um Code == Generator
    16. URLs mit einer Listen-Comprehension verarbeiten
    17. URLs mit einem Generator verarbeiten
    18. Definieren Sie, was Ihre Funktion tun soll
    19. Die Macht der Generatorfunktionen
    20. Die Generatorfunktion aufspüren, Teil 1 von 2
    21. Eine letzte Frage
    22. Der Code aus Kapitel 12
    23. Wir sind dann mal weg …
  20. A Installation: Python installieren
    1. Python 3 unter Windows installieren
    2. Python 3 unter Windows testen
    3. Python 3 unter Windows ergänzen
    4. Python 3 unter Mac OS X (macOS) installieren
    5. Python 3 unter macOS konfigurieren und testen
    6. Python 3 unter Linux installieren
  21. B PythonAnywhere: Ihre Webapplikation bereitstellen
    1. Schritt 0: Etwas Vorbereitung
    2. Schritt 1: Bei PythonAnywhere registrieren
    3. Schritt 2: Die Dateien in die Cloud hochladen
    4. Schritt 3: Den Code extrahieren und installieren
    5. Schritt 4: Eine Starter-Webapplikation erstellen, 1 von 2
    6. Schritt 5: Die Webapplikation konfigurieren
    7. Schritt 6: Drehen Sie eine Runde mit Ihrer cloudbasierten Webapplikation!
  22. C Die 10 wichtigsten Dinge, die wir nicht behandelt haben: Es gibt immer noch etwas zu lernen
    1. 1. Was ist mit Python 2?
    2. 2. Virtuelle Programmierumgebungen
    3. 3. Mehr zur Objektorientierung
    4. 4. Formate für Strings und Ähnliches
    5. 5. Dinge sortieren
    6. 6. Mehr zur Standardbibliothek
    7. 7. Code gleichzeitig ausführen
    8. 8. GUIs mit Tkinter (und Spaß mit turtle)
    9. 9. Ohne Test ist es nicht fertig
    10. 10. Debuggen, Debuggen, Debuggen
  23. D Die 10 wichtigsten Projekte, die wir nicht behandelt haben: Noch mehr Werkzeuge, Bibliotheken und Module
    1. 1. Alternativen zu >>>
    2. 2. Alternativen zu IDLE
    3. 3. Jupyter Notebook: die webbasierte IDE
    4. 4. Data Science betreiben
    5. 5. Technologien für die Webentwicklung
    6. 6. Mit Webdaten arbeiten
    7. 7. Noch mehr Datenquellen
    8. 8. Programmierwerkzeuge
    9. 9. Kivy: Unsere Wahl für das »coolste Projekt überhaupt«
    10. 10. Alternative Implementierungen
  24. E Mitmachen: Die Python-Gemeinschaft
    1. Wohlwollender Diktator auf Lebenszeit
    2. Eine tolerante Gemeinschaft: Respekt für Vielfalt
    3. Python-Podcasts
    4. Das Python-Zen
    5. Welches Buch sollte ich jetzt lesen?
    6. Unsere englischen Lieblings-Python-Bücher
    7. Unsere deutschen Lieblings-Python-Bücher
  25. Index