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 Crashkurs

Book Description

In der ersten Hälfte des Buches lernen Sie grundlegende Programmierkonzepte wie Listen, Wörterbücher, Klassen und Schleifen. Sie erlernen das Schreiben von sauberem und lesbarem Code mit Übungen für jedes Thema. Sie lernen auch, wie Sie Ihre Programme interaktiv machen und wie Sie Ihren Code sicher testen, bevor Sie ihn zu einem Projekt hinzufügen.In der zweiten Hälfte des Buches werden Sie Ihr neues Wissen in die Praxis mit drei lehrreichen »Real-world«-Projekten umsetzen:• ein durch »Space Invaders« inspiriertes Arcade-Spiel,• eine Daten-Visualisierungen mit Pythons superpraktischen Bibliotheken und• eine einfache Web-App, die Sie online bereitstellen können.

Table of Contents

  1. Cover
  2. Titel
  3. Impressum
  4. Inhalt
  5. Widmung
  6. Der Autor
  7. Die Fachgutachter
  8. Danksagung
  9. Teil 1 Grundlagen
    1. 1 Erste Schritte
      1. Die Programmierumgebung einrichten
      2. Python 2 und 3
      3. Python-Codeausschnitte ausführen
      4. Hello World!
      5. Python auf verschiedenen Betriebssystemen
      6. Python unter Linux
      7. Python unter OS X
      8. Python unter Windows
      9. Fehlersuche
      10. Python-Programme im Terminal ausführen
      11. Unter Linux und OS X
      12. Unter Windows
      13. Zusammenfassung
    2. 2 Variablen und einfache Datentypen
      1. Was bei der Ausführung von hello_world.py wirklich geschieht
      2. Variablen
      3. Variablen benennen und verwenden
      4. Fehler bei Variablennamen vermeiden
      5. Strings
      6. Groß- und Kleinschreibung mithilfe von Methoden ändern
      7. Strings verketten
      8. Weißraum hinzufügen
      9. Weißraum entfernen
      10. Syntaxfehler bei der Stringverarbeitung vermeiden
      11. Die Print-Anweisung in Python 2
      12. Zahlen
      13. Integer
      14. Fließkommazahlen
      15. Typisierungsfehler mithilfe der Funktion str() vermeiden
      16. Integer in Python 2
      17. Kommentare
      18. Wie werden Kommentare geschrieben?
      19. Was für Kommentare sind sinnvoll?
      20. The Zen of Python
      21. Zusammenfassung
    3. 3 Eine Einführung in Listen
      1. Was sind Listen?
      2. Elemente in einer Liste ansprechen
      3. Indizes beginnen bei 0, nicht bei 1
      4. Einzelne Werte aus einer Liste verwenden
      5. Elemente ändern, hinzufügen und entfernen
      6. Elemente in einer Liste ändern
      7. Elemente zu einer Liste hinzufügen
      8. Elemente aus einer Liste entfernen
      9. Listen ordnen
      10. Listen mit sort() dauerhaft sortieren
      11. Listen mit der Funktion sorted() vorübergehend sortieren
      12. Listen in umgekehrter Reihenfolge ausgeben
      13. Die Länge einer Liste ermitteln
      14. Indexfehler vermeiden
      15. Zusammenfassung
    4. 4 Mit Listen arbeiten
      1. Eine komplette Liste durchlaufen
      2. Die Schleife im Detail
      3. Weitere Aufgaben in einer for-Schleife erledigen
      4. Aktionen nach der for-Schleife
      5. Einrückungsfehler vermeiden
      6. Vergessene Einrückung der ersten Zeile in einer Schleife
      7. Vergessene Einrückung nachfolgender Zeilen
      8. Unnötige Einrückung
      9. Unnötige Einrückung nach einer Schleife
      10. Vergessener Doppelpunkt
      11. Numerische Listen
      12. Die Funktion range()
      13. Numerische Listen mithilfe von range() aufstellen
      14. Einfache Statistiken für numerische Listen
      15. Listennotation
      16. Teillisten
      17. Einen Slice erstellen
      18. Einen Slice in einer Schleife durchlaufen
      19. Listen kopieren
      20. Tupel
      21. Ein Tupel definieren
      22. Die Werte in einem Tupel durchlaufen
      23. Tupel überschreiben
      24. Code formatieren
      25. Die Gestaltungsrichtlinien
      26. Einrückung
      27. Zeilenlänge
      28. Leerzeilen
      29. Zusammenfassung
    5. 5 if-Anweisungen
      1. Ein einfaches Beispiel
      2. Bedingungen
      3. Prüfung auf Gleichheit
      4. Groß- und Kleinschreibung bei der Prüfung auf Gleichheit
      5. Prüfung auf Ungleichheit
      6. Numerische Vergleiche
      7. Prüfung auf mehrere Bedingungen
      8. Prüfung auf Vorhandensein eines Werts in einer Liste
      9. Prüfung auf Abwesenheit eines Werts in einer Liste
      10. Boolesche Ausdrücke
      11. if-Anweisungen
      12. Einfache if-Anweisungen
      13. if-else-Anweisungen
      14. Die if-elif-else-Kette
      15. Mehrere elif-Blöcke
      16. Den else-Block weglassen
      17. Mehrere Bedingungen prüfen
      18. if-Anweisungen für Listen
      19. Prüfung auf besondere Elemente
      20. Prüfung auf nicht leere Liste
      21. Mehrere Listen verwenden
      22. if-Anweisungen gestalten
      23. Zusammenfassung
    6. 6 Dictionaries
      1. Ein einfaches Dictionary
      2. Umgang mit Dictionaries
      3. Zugriff auf die Werte in einem Dictionary
      4. Schlüssel-Wert-Paare hinzufügen
      5. Ein leeres Dictionary als Ausgangspunkt
      6. Werte in einem Dictionary ändern
      7. Schlüssel-Wert-Paare entfernen
      8. Ein Dictionary aus ähnlichen Objekten
      9. Dictionaries in einer Schleife durchlaufen
      10. Alle Schlüssel-Wert-Paare durchlaufen
      11. Alle Schlüssel in einem Dictionary durchlaufen
      12. Die Schlüssel in einem Dictionary geordnet durchlaufen
      13. Alle Werte in einem Dictionary durchlaufen
      14. Verschachtelung
      15. Dictionaries in einer Liste
      16. Listen in einem Dictionary
      17. Dictionaries in einem Dictionary
      18. Zusammenfassung
    7. 7 Benutzereingaben und while-Schleifen
      1. Die Funktion input()
      2. Klar verständliche Eingabeaufforderungen schreiben
      3. Verwendung von int() für numerische Eingaben
      4. Der Modulo-Operator
      5. Benutzereingaben in Python 2.7
      6. while-Schleifen
      7. while-Schleifen in Aktion
      8. Programmbeendigung durch den Benutzer
      9. Flags
      10. Eine Schleife mit break verlassen
      11. Die Anweisung continue
      12. Endlosschleifen vermeiden
      13. while-Schleifen für Listen und Dictionaries
      14. Elemente von einer Liste in eine andere verschieben
      15. Alle Vorkommen eines Wertes aus einer Liste entfernen
      16. Ein Dictionary mit Benutzereingaben füllen
      17. Zusammenfassung
    8. 8 Funktionen
      1. Funktionen definieren
      2. Informationen an eine Funktion übergeben
      3. Argumente und Parameter
      4. Argumente übergeben
      5. Positionsabhängige Argumente
      6. Schlüsselwortargumente
      7. Standardwerte
      8. Gleichwertige Funktionsaufrufe
      9. Argumentfehler vermeiden
      10. Rückgabewerte
      11. Einen einfachen Wert zurückgeben
      12. Optionale Argumente
      13. Ein Dictionary zurückgeben
      14. Funktionen in einer while-Schleife
      15. Eine Liste übergeben
      16. Eine Liste mithilfe einer Funktion ändern
      17. Die Änderung einer Liste in einer Funktion verhindern
      18. Beliebig viele Argumente übergeben
      19. Positionsabhängige Argumente und Argumente beliebiger Anzahl kombinieren
      20. Beliebig viele Schlüsselwortargumente übergeben
      21. Funktionen in Modulen speichern
      22. Ein komplettes Modul importieren
      23. Einzelne Funktionen importieren
      24. Eine Funktion mit »as« umbenennen
      25. Ein Modul mit »as« umbenennen
      26. Alle Funktionen eines Moduls importieren
      27. Funktionen formatieren
      28. Zusammenfassung
    9. 9 Klassen
      1. Eine Klasse erstellen und verwenden
      2. Die Klasse Dog erstellen
      3. Eine Instanz einer Klasse anlegen
      4. Mit Klassen und Instanzen arbeiten
      5. Die Klasse Car
      6. Einen Standardwert für ein Attribut festlegen
      7. Attributwerte bearbeiten
      8. Vererbung
      9. Die Methode __init__() für eine Kindklasse
      10. Vererbung in Python 2.7
      11. Attribute und Methoden der Kindklasse definieren
      12. Methoden der Elternklasse überschreiben
      13. Instanzen als Attribute
      14. Reale Objekte modellieren
      15. Klassen importieren
      16. Eine einzelne Klasse importieren
      17. Mehrere Klassen in einem Modul speichern
      18. Mehrere Klassen aus einem Modul importieren
      19. Ein gesamtes Modul importieren
      20. Alle Klassen eines Moduls importieren
      21. Ein Modul in ein Modul importieren
      22. Ihren eigenen Arbeitsablauf finden
      23. Die Standardbibliothek von Python
      24. Klassen formatieren
      25. Zusammenfassung
    10. 10 Dateien und Ausnahmen
      1. Aus Dateien lesen
      2. Eine gesamte Datei lesen
      3. Dateipfade
      4. Zeilenweises Lesen
      5. Eine Liste aus den Zeilen einer Datei erstellen
      6. Dateiinhalte verarbeiten
      7. Große Dateien: eine Million Stellen
      8. Ist Ihr Geburtsdatum in Pi enthalten?
      9. In Dateien schreiben
      10. In eine leere Datei schreiben
      11. Mehrere Zeilen schreiben
      12. Text an eine Datei anhängen
      13. Ausnahmen
      14. Division durch null
      15. try-except-Blöcke
      16. Abstürze mithilfe von Ausnahmen verhindern
      17. Der else-Block
      18. Datei nicht gefunden
      19. Text analysieren
      20. Umgang mit mehreren Dateien
      21. Fehler stillschweigend übergehen
      22. Welche Fehler sollten Sie melden und welche nicht?
      23. Daten speichern
      24. json.dump() und json.load()
      25. Benutzergenerierte Daten speichern und lesen
      26. Refactoring
      27. Zusammenfassung
    11. 11 Code testen
      1. Funktionen testen
      2. Unit Tests und Testfälle
      3. Ein bestandener Test
      4. Ein nicht bestandener Test
      5. Was tun bei einem nicht bestandenen Test?
      6. Neue Tests hinzufügen
      7. Klassen testen
      8. Verschiedene Zusicherungsmethoden
      9. Eine Beispielklasse zum Testen
      10. Die Klasse AnonymousSurvey testen
      11. Die Methode setUp()
      12. Zusammenfassung
  10. Teil 2 Projekte
    1. Alien Invasion – ein Python-Spiel
    2. Datenvisualisierung
    3. Webanwendungen
    4. Projekt 1: Alien Invasion
    5. 12 Das eigene Kampfschiff
      1. Das Projekt planen
      2. Pygame installieren
      3. Python-Pakete mit pip installieren
      4. Pygame unter Linux installieren
      5. Pygame unter OS X installieren
      6. Pygame unter Windows installieren
      7. Das Spielprojekt beginnen
      8. Ein Pygame-Fenster anlegen und auf Benutzereingaben reagieren
      9. Die Hintergrundfarbe festlegen
      10. Eine Klasse für Einstellungen anlegen
      11. Das Bild eines Raumschiffs hinzufügen
      12. Die Klasse Ship
      13. Das Schiff auf den Bildschirm zeichnen
      14. Refactoring des Moduls game_functions
      15. Die Funktion check_events()
      16. Die Funktion update_screen()
      17. Das Schiff bewegen
      18. Auf Tastenbetätigungen reagieren
      19. Kontinuierliche Bewegung
      20. Bewegung nach rechts und links
      21. Die Geschwindigkeit des Schiffes anpassen
      22. Den Bewegungsbereich des Schiffes einschränken
      23. Refactoring von check_events()
      24. Zwischenstand
      25. alien_invasion.py
      26. settings.py
      27. game_functions.py
      28. ship.py
      29. Geschosse
      30. Einstellungen für Geschosse hinzufügen
      31. Die Klasse Bullet
      32. Geschosse in Gruppen speichern
      33. Geschosse abfeuern
      34. Alte Geschosse löschen
      35. Die Anzahl der Geschosse begrenzen
      36. Die Funktion update_bullets()
      37. Die Funktion fire_bullet()
      38. Zusammenfassung
    6. 13 Die Außerirdischen
      1. Überblick über das Projekt
      2. Das erste Invasionsschiff
      3. Die Klasse Alien
      4. Eine Instanz von Alien erstellen
      5. Das Invasionsschiff auf den Bildschirm zeichnen
      6. Die Invasionsflotte erstellen
      7. Wie viele Invasionsschiffe passen in eine Reihe?
      8. Reihen von Invasionsschiffen erstellen
      9. Die Flotte erstellen
      10. Refactoring von create_fleet()
      11. Reihen hinzufügen
      12. Die Flotte in Bewegung setzen
      13. Die Invasoren nach rechts bewegen
      14. Einstellungen für die Flugrichtung der Flotte
      15. Auf Randberührungen prüfen
      16. Sinken und Flugrichtung ändern
      17. Invasoren abschießen
      18. Kollisionen von Geschossen erkennen
      19. Größere Geschosse zu Testzwecken
      20. Die Flotte auffüllen
      21. Die Geschosse beschleunigen
      22. Refactoring von update_bullets()
      23. Spielende
      24. Kollisionen zwischen Invasoren und dem eigenen Schiff erkennen
      25. Auf Kollisionen zwischen Invasoren und dem eigenen Schiff reagieren
      26. Wenn Invasoren den unteren Bildschirmrand erreichen
      27. Game over!
      28. Welche Teile des Spiels müssen ausgeführt werden?
      29. Zusammenfassung
    7. 14 Das Wertungssystem
      1. Eine Play-Schaltfläche hinzufügen
      2. Die Klasse Button
      3. Die Schaltfläche auf den Bildschirm zeichnen
      4. Das Spiel starten
      5. Das Spiel zurücksetzen
      6. Die Play-Schaltfläche deaktivieren
      7. Den Mauszeiger ausblenden
      8. Levels
      9. Die Geschwindigkeitseinstellungen ändern
      10. Die Geschwindigkeit zurücksetzen
      11. Die Punktwertung
      12. Den Punktestand anzeigen
      13. Eine Anzeigetafel erstellen
      14. Den Punktestand bei jedem Abschuss erhöhen
      15. Alle Treffer berücksichtigen
      16. Den Punktwert erhöhen
      17. Den Punktestand runden
      18. Highscore
      19. Das Level anzeigen
      20. Die Anzahl der verfügbaren Schiffe anzeigen
      21. Zusammenfassung
    8. Projekt 2: Datenvisualisierung
    9. 15 Daten generieren
      1. Die Bibliothek matplotlib installieren
      2. Unter Linux
      3. Unter OS X
      4. Unter Windows
      5. matplotlib testen
      6. Die matplotlib-Galerie
      7. Einfache Liniendiagramme
      8. Beschriftung und Linienstärke ändern
      9. Das Diagramm korrigieren
      10. Einzelne Punkte mit scatter() darstellen und gestalten
      11. Eine Folge von Punkten mit scatter() ausgeben
      12. Daten automatisch berechnen
      13. Die Umrandungen der Punkte entfernen
      14. Eigene Farben festlegen
      15. Eine Colormap verwenden
      16. Diagramme automatisch speichern
      17. Zufallsbewegungen
      18. Die Klasse RandomWalk()
      19. Richtungen wählen
      20. Den Zufallspfad als Diagramm ausgeben
      21. Mehrere Zufallspfade erstellen
      22. Den Pfad gestalten
      23. Die Punkte färben
      24. Start- und Endpunkte anzeigen
      25. Die Achsen entfernen
      26. Datenpunkte hinzufügen
      27. Die Größe an den Bildschirm anpassen
      28. Würfeln mit Pygal
      29. Pygal installieren
      30. Die Pygal-Galerie
      31. Die Klasse Die
      32. Würfeln
      33. Die Ergebnisse analysieren
      34. Ein Histogramm erstellen
      35. Ergebnisse bei zwei Würfeln
      36. Würfel unterschiedlicher Flächenzahl
      37. Zusammenfassung
    10. 16 Daten herunterladen
      1. Das Dateiformat CSV
      2. CSV-Spaltenköpfe analysieren
      3. Die Spaltenköpfe und ihre Position ausgeben
      4. Daten entnehmen und lesen
      5. Daten in einem Temperaturdiagramm darstellen
      6. Das Modul datetime
      7. Datumsangaben im Diagramm darstellen
      8. Ein Diagramm für einen längeren Zeitraum
      9. Eine zweite Datenreihe darstellen
      10. Einen Diagrammbereich einfärben
      11. Fehlerprüfung
      12. Globale Daten im JSON-Format visualisieren
      13. Daten zur Weltbevölkerung herunterladen
      14. Relevante Daten entnehmen
      15. Strings in numerische Werte umwandeln
      16. Zweistellige Ländercodes ermitteln
      17. Eine Weltkarte zeichnen
      18. Numerische Daten auf einer Weltkarte darstellen
      19. Eine vollständige Karte der Weltbevölkerung
      20. Länder nach der Bevölkerungszahl gruppieren
      21. Weltkarten in Pygal gestalten
      22. Die Farbpalette aufhellen
      23. Zusammenfassung
    11. 17 APIs
      1. Web-APIs
      2. Git und GitHub
      3. Daten über einen API-Aufruf anfordern
      4. Das Paket requests installieren
      5. API-Antworten verarbeiten
      6. Das Antwort-Dictionary verarbeiten
      7. Ein Überblick über die höchstbewerteten Repositories
      8. Grenzwerte für die API-Aufrufrate
      9. Repositories mit Pygal visualisieren
      10. Pygal-Diagramme verbessern
      11. Eigene Tooltips hinzufügen
      12. Die Beschreibungen als Tooltips ausgeben
      13. Aktive Links zu dem Diagramm hinzufügen
      14. Die API von Hacker News
      15. Zusammenfassung
    12. Projekt 3: Webanwendungen
    13. 18 Erste Schritte mit Django
      1. Ein Projekt einrichten
      2. Eine Spezifikation schreiben
      3. Eine virtuelle Umgebung erstellen
      4. Das Paket virtualenv installieren
      5. Die virtuelle Umgebung aktivieren
      6. Django installieren
      7. Ein Projekt in Django erstellen
      8. Die Datenbank erstellen
      9. Das Projekt anzeigen
      10. Eine App anlegen
      11. Modelle definieren
      12. Modelle aktivieren
      13. Die Admin-Site von Django
      14. Das Modell für die Einträge definieren
      15. Das Modell Entry in die Datenbank aufnehmen
      16. Das Modell Entry auf der Admin-Site registrieren
      17. Die Django-Shell
      18. Seiten erstellen: die Startseite von Learning Log
      19. Eine URL zuordnen
      20. Eine Ansicht schreiben
      21. Eine Vorlage schreiben
      22. Weitere Seiten erstellen
      23. Vererbung bei Vorlagen
      24. Die Seite Topics
      25. Einzelne Fachgebietsseiten
      26. Die Vorlage für eine Fachgebietsseite
      27. Zusammenfassung
    14. 19 Benutzerkonten
      1. Dateneingabe durch die Benutzer
      2. Neue Fachgebiete hinzufügen
      3. Neue Einträge hinzufügen
      4. Einträge bearbeiten
      5. Benutzerkonten einrichten
      6. Die App users
      7. Die Anmeldeseite
      8. Abmelden
      9. Die Registrierungsseite
      10. Die Benutzer als Besitzer ihrer eigenen Daten
      11. Den Zugriff mit @login_required beschränken
      12. Daten mit Benutzern verknüpfen
      13. Den Zugriff auf die Fachgebiete auf die zuständigen Benutzer einschränken
      14. Die Fachgebiete eines Benutzers schützen
      15. Die Seite edit_entry schützen
      16. Neue Fachgebiete dem aktuellen Benutzer zuordnen
      17. Zusammenfassung
    15. 20 Eine App gestalten und bereitstellen
      1. Learning Log gestalten
      2. Die App django-bootstrap3
      3. Learning Log mit Bootstrap gestalten
      4. Änderungen an base.html
      5. Die Startseite mit einem Jumbotron gestalten
      6. Das Anmeldeformular gestalten
      7. Die Seite new_topic gestalten
      8. Die Seite Topics gestalten
      9. Einträge auf den Fachgebietsseiten gestalten
      10. Learning Log bereitstellen
      11. Ein Heroku-Konto anlegen
      12. Heroku Toolbelt installieren
      13. Die erforderlichen Pakete installieren
      14. Eine Paketliste mit der Datei requirements.txt erstellen
      15. Die Python-Laufzeitversion angeben
      16. Die Datei settings.py für Heroku anpassen
      17. Ein Procfile zum Starten der Prozesse erstellen
      18. Die Datei wsgi.py für Heroku anpassen
      19. Ein Verzeichnis für statische Dateien erstellen
      20. Den Server gunicorn lokal nutzen
      21. Mit Git den Überblick über die Projektdateien bewahren
      22. Die Datenbank auf Heroku einrichten
      23. Die Heroku-Bereitstellung verbessern
      24. Das Onlineprojekt schützen
      25. Änderungen mit Commit bestätigen und übertragen
      26. Eigene Fehlerseiten erstellen
      27. Weiterentwicklung des Projekts
      28. Die Einstellung SECRET_KEY
      29. Projekte auf Heroku löschen
      30. Zusammenfassung
    16. Nachwort
  11. Anhang
    1. A Python installieren
    2. Python unter Linux
    3. Die installierte Version herausfinden
    4. Python 3 unter Linux installieren
    5. Python unter OS X
    6. Die installierte Version herausfinden
    7. Python 3 mit Homebrew installieren
    8. Python unter Windows
    9. Python 3 unter Windows installieren
    10. Den Python-Interpreter finden
    11. Python zur Pfadvariablen hinzufügen
    12. Schlüsselwörter und integrierte Funktionen
    13. Python-Schlüsselwörter
    14. Integrierte Python-Funktionen
    15. B Texteditoren
    16. Geany
    17. Geany unter Linux installieren
    18. Geany unter Windows installieren
    19. Python-Programme in Geany ausführen
    20. Geany-Einstellungen anpassen
    21. Sublime Text
    22. Sublime Text unter OS X installieren
    23. Sublime Text unter Linux installieren
    24. Sublime Text unter Windows installieren
    25. Python-Programme in Sublime Text ausführen
    26. Sublime Text konfigurieren
    27. Die Einstellungen von Sublime Text anpassen
    28. IDLE
    29. IDLE unter Linux installieren
    30. IDLE unter OS X installieren
    31. IDLE unter Windows installieren
    32. IDLE-Einstellungen anpassen
    33. Emacs und vim
    34. C Hilfe finden
    35. Erste Schritte
    36. Versuchen Sie es erneut
    37. Legen Sie eine Pause ein
    38. Nutzen Sie das Onlinematerial zu diesem Buch
    39. Online nach Hilfe suchen
    40. Stack Overflow
    41. Die offizielle Python-Dokumentation
    42. Offizielle Dokumentation der Bibliotheken
    43. r/learnpython
    44. Blogs
    45. IRC (Internet Relay Chat)
    46. Ein IRC-Konto anlegen
    47. Hilfreiche Kanäle
    48. IRC-Kultur
    49. D Versionssteuerung mit Git
    50. Git installieren
    51. Git unter Linux installieren
    52. Git unter OS X installieren
    53. Git unter Windows installieren
    54. Git konfigurieren
    55. Ein Projekt anlegen
    56. Dateien ignorieren
    57. Ein Repository initialisieren
    58. Den Projektstatus überprüfen
    59. Dateien zum Repository hinzufügen
    60. Einen Commit durchführen
    61. Das Protokoll einsehen
    62. Der zweite Commit
    63. Änderungen zurücknehmen
    64. Vorherige Commits auschecken
    65. Das Repository löschen
  12. Stichwortverzeichnis