
Python Crashkurs
Beschreibung
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Weitere Details
Weitere Ausgaben
Andere Ausgaben


Personen
Inhalt
- Intro
- Inhalt
- Der Autor
- Der Fachgutachter
- Danksagung
- Vorwort zur dritten Auflage
- Einleitung
- Zielgruppe
- Lernstoff
- Onlinematerial
- Warum Python?
- Teil 1 Grundlagen
- 1 Erste Schritte
- Die Programmierumgebung einrichten
- Python-Versionen
- Python-Codeausschnitte ausführen
- Der Editor VS Code
- Python auf verschiedenen Betriebssystemen
- Python unter Windows
- Python unter macOS
- Python unter Linux
- Das Hello-World-Programm ausführen
- Die Python-Erweiterung für VS Code installieren
- Hello_world.py ausführen
- Fehlersuche
- Python-Programme im Terminal ausführen
- Unter Windows
- Unter Linux und macOS
- 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
- Variablen sind Etiketten
- Strings
- Groß- und Kleinschreibung mithilfe von Methoden ändern
- Variablen in Strings verwenden
- Weißraum hinzufügen
- Weißraum entfernen
- Entfernen von Präfixen
- Syntaxfehler bei der Stringverarbeitung vermeiden
- Zahlen
- Integer
- Fließkommazahlen
- Integer und Fließkommazahlen
- Unterstriche in Zahlen
- Mehrfachzuweisung
- Konstanten
- 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 verä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
- Mit get() auf Werte zugreifen
- 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
- 7 Benutzereingaben und while-Schleifen
- Die Funktion input()
- Klar verständliche Eingabeaufforderungen schreiben
- Verwendung von int() für numerische Eingaben
- Der Modulo-Operator
- 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
- Verschiedene Formen für 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
- Gestaltung von Funktionen
- 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
- 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
- Aliase verwenden
- Ihren eigenen Arbeitsablauf finden
- Die Standardbibliothek von Python
- Gestaltung von Klassen
- Zusammenfassung
- 10 Dateien und Ausnahmen
- Aus Dateien lesen
- Den Inhalt einer Datei lesen
- Relative und absolute Dateipfade
- Lesen der Zeilen einer Datei
- Dateiinhalte verarbeiten
- Große Dateien: eine Million Stellen
- Ist Ihr Geburtsdatum in Pi enthalten?
- In Dateien schreiben
- Eine einzelne Zeile schreiben
- Mehrere Zeilen schreiben
- 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
- Pytest mit pip installieren
- pip aktualisieren
- Pytest installieren
- 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 Annahmen
- Eine Beispielklasse zum Testen
- Die Klasse AnonymousSurvey testen
- Verwenden von Fixtures
- Zusammenfassung
- Teil 2 Projekte
- Alien Invasion - ein Python-Spiel
- Datenvisualisierung
- Webanwendungen
- Projekt 1 Alien Invasion
- 12 Das eigene Kampfschiff
- Das Projekt planen
- Pygame installieren
- Erste Schritte für das Spielprojekt
- Ein Pygame-Fenster anlegen und auf Benutzereingaben reagieren
- Steuerung der Framerate
- 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: Die Methoden _check_events() und _update_screen()
- Die Methode _check_events()
- Die Methode _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()
- Beenden mit Q
- Das Spiel im Vollbildmodus ausführen
- Zwischenstand
- alien_invasion.py
- settings.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 Methode _update_bullets()
- Zusammenfassung
- 13 Die Außerirdischen
- Überblick über das Projekt
- Das erste Invasionsschiff
- Die Klasse Alien
- Eine Instanz von Alien erstellen
- Die Invasionsflotte erstellen
- Reihen von Invasionsschiffen 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
- Den Punktestand zurücksetzen
- 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
- Matplotlib installieren
- Einfache Liniendiagramme
- Beschriftung und Linienstärke ändern
- Das Diagramm korrigieren
- Vordefinierte Formatierungen verwenden
- Einzelne Punkte mit scatter() darstellen und gestalten
- Eine Folge von Punkten mit scatter() ausgeben
- Daten automatisch berechnen
- Eigene Beschriftungen anlegen
- 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
- Würfeln mit Plotly
- Plotly installieren
- Die Klasse Die
- Würfeln
- Die Ergebnisse analysieren
- Ein Histogramm erstellen
- Das Diagramm anpassen
- Ergebnisse bei zwei Würfeln
- Weitere Anpassungen
- Würfel unterschiedlicher Flächenzahl
- Diagramme speichern
- 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
- Daten selbst herunterladen
- Globale Daten im GeoJSON-Format visualisieren
- Erdbebendaten herunterladen
- JSON-Daten untersuchen
- Eine Liste aller Erdbeben aufstellen
- Die Stärken entnehmen
- Ortsdaten entnehmen
- Eine Weltkarte zeichnen
- Darstellung der Stärke
- Die Farben der Markierungen anpassen
- Weitere Farbpaletten
- Maustext hinzufügen
- Zusammenfassung
- 17 APIs
- APIs
- Git und GitHub
- Daten mithilfe eines API-Aufrufs 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
- Angaben zu Repositories mit Plotly visualisieren
- Das Diagramm gestalten
- Eigenen Maustext hinzufügen
- Links zu dem Diagramm hinzufügen
- Marker-Farben anpassen
- Mehr über Plotly und die GitHub-API
- Die API von Hacker News
- Zusammenfassung
- Projekt 3 Webanwendungen
- 18 Erste Schritte mit Django
- Ein Projekt einrichten
- Eine Spezifikation schreiben
- Eine virtuelle Umgebung erstellen
- 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
- Zusammenfassung
- 19 Benutzerkonten
- Dateneingabe durch die Benutzer
- Neue Fachgebiete hinzufügen
- Neue Einträge hinzufügen
- Einträge bearbeiten
- Benutzerkonten einrichten
- Die App accounts
- 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-bootstrap5
- Learning Log mit Bootstrap gestalten
- Änderungen an base.html
- Die Startseite mit einem Jumbotron gestalten
- Das Anmeldeformular gestalten
- Die Seite Topics gestalten
- Einträge auf den Fachgebietsseiten gestalten
- Learning Log bereitstellen
- Ein Platform.sh-Konto anlegen
- Die Platform.sh-Befehlszeile installieren
- Platformsshconfig installieren
- Die Datei requirements.txt erstellen
- Zusätzliche Voraussetzungen für die Bereitstellung
- Konfigurationsdateien hinzufügen
- Die Konfigurationsdatei services-yaml
- settings-py für Platform.sh anpassen
- Mit Git den Überblick über die Projektdateien bewahren
- Die Platform.sh-Bereitstellung verbessern
- Das Onlineprojekt schützen
- Änderungen mit Commit bestätigen und übertragen
- Eigene Fehlerseiten erstellen
- Weiterentwicklung des Projekts
- Projekte auf Platform.sh löschen
- Zusammenfassung
- Nachwort
- Anhang
- A Installation und Fehlerbehebung
- Python unter Windows
- Py statt Python
- Das Installationsprogramm erneut ausführen
- Python unter macOS
- Versehentliches Installieren der Apple-Version von Python
- Python 2 und ältere Versionen von macOS
- Python unter Linux
- Die Standardinstallation vornehmen
- Die letzte Python-Version installieren
- Die verwendete Python-Version herausfinden
- Schlüsselwörter und integrierte Funktionen
- Python-Schlüsselwörter
- Integrierte Python-Funktionen
- B Texteditoren und IDEs
- Effizient mit VS Code arbeiten
- VS Code konfigurieren
- Tabulatoren und Leerzeichen verwenden
- Das Farbschema ändern
- Den Zeilenlängenmarker festlegen
- Die Ausgabe vereinfachen
- Kurzbefehle in VS Code
- Codeblöcke einrücken und Einrückungen aufheben
- Codeblöcke auskommentieren
- Weitere Texteditoren und IDEs
- IDLE
- Geany
- Sublime Text
- Emacs und Vim
- PyCharm
- Jupyter Notebooks
- 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
- Discord
- Slack
- D Versionssteuerung mit Git
- Git 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
- E Fehlerbehebung bei der Bereitstellung
- Git installieren
- Grundlgegende Fehlersuche
- Den Hinweisen nachgehen
- Das Protokoll analysieren
- Betriebssystemspezifische Fehlersuche
- Von Windows bereitstellen
- Weitere Entwicklungsansätze
- Stichwortverzeichnis
Systemvoraussetzungen
Dateiformat: PDF
Kopierschutz: Wasserzeichen-DRM (Digital Rights Management)
Systemvoraussetzungen:
- Computer (Windows; MacOS X; Linux): Verwenden Sie zum Lesen die kostenlose Software Adobe Reader, Adobe Digital Editions oder einen anderen PDF-Viewer Ihrer Wahl (siehe E-Book Hilfe).
- Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions oder die App PocketBook (siehe E-Book Hilfe).
- E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m.
Das Dateiformat PDF zeigt auf jeder Hardware eine Buchseite stets identisch an. Daher ist eine PDF auch für ein komplexes Layout geeignet, wie es bei Lehr- und Fachbüchern verwendet wird (Bilder, Tabellen, Spalten, Fußnoten). Bei kleinen Displays von E-Readern oder Smartphones sind PDF leider eher nervig, weil zu viel Scrollen notwendig ist. Mit Wasserzeichen-DRM wird hier ein „weicher” Kopierschutz verwendet. Daher ist technisch zwar alles möglich – sogar eine unzulässige Weitergabe. Aber an sichtbaren und unsichtbaren Stellen wird der Käufer des E-Books als Wasserzeichen hinterlegt, sodass im Falle eines Missbrauchs die Spur zurückverfolgt werden kann.
Weitere Informationen finden Sie in unserer E-Book Hilfe.