Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

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

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion