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ß

Book Description

Python nur mit einem Buch zu lernen, das wär’s, oder? Mit Python von Kopf bis Fuß schaffen Sie das! 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 zum Vergnügen. Praxisnah und spielerisch lernen Sie die Grundlagen der Sprache, das Wichtigste über Persistenz, Ausnahmebehandlung, Webentwicklung, SQLite, die Google App Engine oder wie Sie Daten in den Griff bekommen. Und Sie lernen auch noch, mobile Apps für Android-Smartphones zu schreiben – alles dank der fantastischen Möglichkeiten, die Python mitbringt.

Table of Contents

  1. Python von Kopf bis Fuß
  2. Der Autor von »Python von Kopf bis Fuß«
  3. Über den Übersetzer dieses Buchs
  4. Wie man dieses Buch benutzt: Einführung
    1. Für wen ist dieses Buch?
      1. Wer sollte eher die Finger von diesem Buch lassen?
    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. Und das können SIE tun, um sich Ihr Gehirn Untertan zu machen
    7. Lies mich
    8. Die technischen Gutachter
    9. Danksagungen
  5. 1. Dürfen wir vorstellen: Python!: Alle lieben Listen
    1. Was ist so toll an Python?
    2. Python 3 installieren
    3. Mit IDLE leichter Python lernen
    4. Effektiv mit IDLE arbeiten
      1. TAB-Vervollständigung
      2. Code-Anweisungen wieder aufrufen
      3. Wieder aufgerufenen Code bearbeiten
      4. IDLEs Einstellungen anpassen
    5. Mit komplexen Daten arbeiten
    6. Einfache Python-Listen erstellen
    7. Listen sind wie Arrays
      1. Auf Listendaten über eckige Klammern zugreifen
    8. Der Liste weitere Daten hinzufügen
    9. Mit Listendaten arbeiten
      1. Wiederholungszeit
    10. for-Schleifen arbeiten mit Listen jeder Größe
    11. Listen in Listen speichern
    12. Eine Liste auf Listen prüfen
    13. Die Verarbeitung komplexer Daten ist kompliziert
    14. Mehrere Einbettungsstufen bewältigen
    15. Funktionen statt Codewiederholung
    16. In Python eine Funktion erstellen
      1. Was Ihre Funktion tun muss?
    17. Rekursion als Retter!
      1. Welch umwerfender Anfang!
    18. Ihr Python-Werkzeugkasten
  6. 2. Cde teilen: Module mit Funktionen
    1. Zu gut, um es für sich zu behalten
    2. Die Funktion in ein Modul umwandeln
    3. Module sind überall
    4. Ihren Code kommentieren
    5. Das Paket vorbereiten
    6. Ihr Paket erstellen
    7. Ein kurzer Überblick über Ihr Paket
    8. Ein Modul zur Verwendung importieren
    9. Pythons Module implementieren Namensräume
    10. Für die PyPI-Website registrieren
    11. Ihren Code auf PyPI hochladen
    12. Willkommen in der PyPI-Gemeinschaft
    13. Mit dem Erfolg kommt die Verantwortung
      1. Änderungsanfragen sind unumgänglich
    14. Das Leben steckt voller Möglichkeiten
    15. Verhalten mit einem weiteren Argument steuern
      1. Funktionen auf die nächsten Stufe heben
    16. Bevor Sie neuen Code schreiben, sollten Sie an BIF denken
      1. Die range()-BIF ermöglicht eine fixe Anzahl von Schleifendurchläufen
    17. Python gibt sein Bestes, um Ihren Code auszuführen
    18. Ihren Code nachverfolgen
    19. Herausfinden, was falsch ist
    20. Den neuen Code auf PyPI hochladen
    21. Sie haben Ihre API geändert
    22. Optionale Argumente
    23. Ihr Modul unterstützt beide APIs
    24. Ihre API passt immer noch nicht
    25. Der gute Ruf Ihres Moduls ist wiederhergestellt
      1. Langsam wachsen Ihre Python-Fertigkeiten
    26. Ihr Python-Werkzeugkasten
  7. 3. Dateien und Ausnahmen: Fehlerbewältigung
    1. Daten kommen von draußen her
    2. Es sind bloß Textzeilen
    3. Ein genauer Blick auf die Daten
    4. Machen Sie sich mit Ihren Daten vertraut
    5. Machen Sie sich mit Ihren Methoden vertaut
    6. Machen Sie sich (besser) mit Ihren Daten vertraut
      1. Der Fall des fehlenden Doppelpunkts
    7. Zwei sehr unterschiedlich Verfahren
    8. Zusätzliche Logik ergänzen
    9. Ausnahmen verarbeiten
    10. Erst probieren, dann erholen
      1. Der try/except-Mechanismus
    11. Den zu schützenden Code identifizieren
    12. Bei Fehlern passen
    13. Was ist mit anderen Fehlern?
      1. Mit dem Fehlen von Dateien umgehen
    14. Mehr Code zur Fehlerprüfung ...
    15. ... oder eine weitere Ausnahmebehandlungsstufe einführen
    16. Und welches Verfahren ist jetzt besser?
      1. Komplexität ist selten gut
    17. Sie sind fertig ... von einer kleinen Sache abgesehen
    18. Machen Sie Ihre Ausnahmen wählerisch
    19. Ihr Python-Werkzeugkasten
  8. 4. Persistenz: Daten in Dateien speichern
    1. Programme generieren Daten
    2. Eine Datei im Schreibmodus öffnen
    3. Nach einer Ausnahme bleiben Dateien offen!
    4. try mit finally erweitern
    5. Den Typ des Fehlers zu kennen, reicht nicht
    6. Nutzen Sie with, um mit Dateien zu arbeiten
    7. Standardformate sind für Dateien ungeeignet
    8. Warum modifizieren wir nicht print_lvl()?
    9. Daten konservieren
    10. Mit dump speichern und mit load wiederherstellen
      1. Und wenn etwas schiefgeht?
    11. Allgemeine Datei-Ein-/Ausgabe ist das geeignetere Verfahren!
    12. Ihr Python-Werkzeugkasten
  9. 5. Daten verstehen: Daten verarbeiten
    1. Trainer Tim braucht Ihre Hilfe
    2. Eines von zwei Sortierverfahren wählen
    3. Das Problem mit der Zeit
    4. Listen verstehen
      1. Die Schönheit von Listenkomprehensionen
    5. Iteration zur Entfernung von Duplikaten
    6. Duplikatfrei mit Sets
    7. Ihr Python-Werkzeugkasten
  10. 6. Eigene Datenobjekte: Code und Daten bündeln
    1. Trainer Tim ist wieder da (mit einem neuen Dateiformat)
    2. Mit einem Dictionary Daten verknüpfen
    3. Bündeln Sie Code und Daten in einer Klasse
    4. Eine Klasse definieren
    5. Mit class Klassen definieren
      1. Objektinstanzen erstellen
    6. Die Wichtigkeit von self
    7. Das erste Argument jeder Methode ist self
    8. Von Pythons eingebauten Listen erben
    9. Trainer Tim ist beeindruckt
    10. Ihr Python-Werkzeugkasten
  11. 7. Webentwicklung: Die Teile zusammenfügen
    1. Teilen ist gut
      1. Sie werden Opfer Ihres eigenen Erfolges
    2. Sie können Ihr Programm ins Web bringen
      1. Dann brauchen Sie eine »Webanwendung«.
    3. Was muss Ihre Webapp tun?
    4. Webapps mit MVC entwerfen
    5. Die Daten modellieren
      1. Wenn die Webapp startet:
      2. Während die Webapp läuft:
    6. Die Schnittstelle entwerfen
      1. YATE: Yet Another Template Engine
    7. Den Code strukturieren
    8. Auf dem Webserver Programme ausführen
    9. Die Sportlerliste anzeigen
    10. Das schreckliche 404!
    11. Ein weiteres CGI-Skript generieren
      1. Aber wie bringen wir in Erfahrung, welcher Sportler ausgewählt wurde?
    12. Zur Fehleridentifikation CGI-Tracking aktivieren
    13. Eine kleine Änderung macht den Unterschied aus
      1. Eine kleine, aber wichtige Änderung
    14. Ihre Webapp ist ein Volltreffer!
    15. Ihr Python-Werkzeugkasten
  12. 8. Mobile Apps: Kleine Geräte
    1. Die Welt wird kleiner
      1. Es gibt nicht nur Desktopcomputer.
    2. Trainer Tim nutzt Android
      1. Python auf dem Smartphone des Trainers ausführen
    3. Machen Sie sich keine Gedanken über Python 2
    4. Die Entwicklungsumgebung einrichten
      1. Das Software Development Kit (SDK) herunterladen
    5. SDK und Emulator konfigurieren
      1. Eine Android-Plattform ergänzen
      2. Ein neues Android Virtual Device (AVD) erstellen
    6. Android-Scripting installieren und konfigurieren
    7. Python Ihrer SL4A-Installation hinzufügen
    8. Python auf Android
      1. Testen Sie den Android-Emulator
    9. Die Anforderungen Ihrer App definieren
    10. Die SL4A Android-API
    11. Unter Android aus einer Liste auswählen
    12. Das CGI-Skript für die Sportlerdaten
      1. Die vollständige Android-App – für’s Erste
    13. Anscheinend haben sich die Daten geändert
    14. JSON kann mit eigenen Datentypen nicht umgehen
    15. Die App auf einem echten Gerät ausführen
      1. Schritt 1: Den Rechner vorbereiten
      2. Schritt 2: Installieren Sie AndFTP auf Ihrem Gerät
    16. AndFTP konfigurieren
    17. Der Trainer ist von der Anwendung begeistert
      1. Willkommen in der Zukunft!
    18. Ihr Python-Werkzeugkasten
  13. 9. Daten im Griff: Eingaben verarbeiten
    1. Ihre Laufzeiten-App – bekannt im ganzen Land
    2. Mit einem Formular oder Dialog Daten annehmen
    3. Eine Vorlage für ein HTML-Formular erstellen
    4. Die Daten werden an Ihr CGI-Skript geliefert
    5. Dateneingaben unter Android
    6. Zeit, die Serverdaten zu aktualisieren
    7. Konflikte vermeiden
    8. Sie benötigen eine bessere Strategie zur Datenspeicherung
    9. Nutzen Sie ein Datenbankmanagement-System
    10. Python enthält SQLite
    11. Pythons Datenbank-API nutzen
    12. Die Datenbank-API als Python-Code
    13. Etwas Datenbank-Design bringt eine Menge
    14. Das Datenbankschema definieren
    15. Wie sehen die Daten aus?
    16. Die Daten aus dem Pickle in SQLite übertragen
    17. Welcher Sportler erhält welche ID?
    18. Die Zeitdaten einfügen
    19. SQLite-Verwaltungswerkzeuge
    20. SQLite in die Webapp integrieren
    21. Sie brauchen immer noch die Liste mit den Namen
    22. Sportlerdaten auf Basis der ID
    23. Sie müssen auch die Android-App anpassen
    24. Die SQLite-basierten Sportlerdaten aktualisieren
    25. Der DJLV ist begeistert!
    26. Ihr Python-Werkzeugkasten
  14. 10. Größere Dimensionen: Ins Leben treten
    1. Walsichtungen überall
    2. Die VKBFWW muss automatisieren
    3. Ihre Webapp mit der Google App Engine aufbauen
    4. Die App Engine installieren
      1. GAE nutzt Python 2.5
    5. Sicherstellen, dass die App Engine funktioniert
    6. Die App Engine benutzt das MVC-Muster
    7. Die Daten mit der App Engine modellieren
    8. Ohne View bringt ein Modell wenig
      1. App Engine-Vorlagen in einer Sekunde
    9. Vorlagen in der App Engine verwenden
    10. Djangos Formularvalidierungs-Framework
    11. Ihr Formular prüfen
    12. Die App Engine-Webapp steuern
      1. Das Aussehen der Formulars verbessern
    13. Eingaben mit Optionen beschränken
    14. Der »leere Bildschirm des Todes«
    15. Die POST-Daten in der Webapp verarbeiten
      1. App Engine kümmert sich auch um Anfragen
    16. Die Daten in den Datenspeicher stecken
    17. Das »Robustheitsprinzip« nicht verletzen
    18. Datum und Zeit in (fast) allen Formen akzeptieren
      1. Es gibt noch eine dritte Möglichkeit
      2. Nutzen Sie für Datum und Zeit »db.StringProperty()«
    19. Anscheinend sind Sie noch nicht fertig
    20. Manchmal macht eine winzige Änderung einen gewaltigen Unterschied ...
    21. Die Google ID des Benutzers speichern
    22. Die Webapp in die Cloud bringen
    23. Die VKBFWW-Webapp ist aktiv!
    24. Ihr Python-Werkzeugkasten
  15. 11. Komplexität bewältigen: Daten strukturieren
    1. Welche Zeit ist für das nächste Rennen anzuvisieren?
    2. Und was ist das Problem?
    3. Beginnen wir mit den neuen Daten
      1. Werfen wir einen weiteren Blick auf die Daten
    4. Die einzelnen Zeiten als Dictionary speichern
    5. Den Vorhersagecode analysieren
    6. Benutzereingaben entgegennehmen
      1. input() für Eingaben
    7. Eingaben führen zu Problemen ...
    8. Ist der Wert nicht im Dictionary, kann er auch nicht gefunden werden.
    9. Nach dem besten Treffer suchen
    10. Das Problem ist die Zeit
    11. Das Zeit-zu-Sekunden-zu-Zeit-Modul
    12. Die Zeit bleibt das Problem...
    13. Auf Android portieren
    14. Ihre Android-App ist eine Dialogsammlung
      1. Machen Sie den Code für Ihre Android-App fertig
    15. Die App zusammensetzen ...
    16. Ihre App ist ein Geschenk!
      1. Und auch Sie hält nichts mehr auf!
    17. Ihr Python-Werkzeugkasten
    18. Zeit, zu gehen ...
      1. Das ist nur der Anfang
  16. A. Was übrig bleibt: Die Top-Ten der Dinge, die wir nicht behandelt haben
    1. 1. Eine »professionelle« IDE nutzen
    2. 2. Geltungsbereiche
    3. 3. Testen
    4. 4. Fortgeschrittene Spracheigenschaften
    5. 5. Reguläre Ausdrücke
    6. 6. Mehr zu Webframeworks
    7. 7. Objektrelationale Mapper und NoSQL
      1. Es gibt auch NoSQL.
    8. 8. GUI-Programmierung
    9. 9. Was Sie vermeiden sollten
    10. 10. Andere Bücher
  17. Stichwortverzeichnis