Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cover
Impressum
Widmung
Der Autor
Inhaltsverzeichnis
Intro
Wir wissen, was Sie denken
READ ME
Die neueste Python-Version installieren
Python allein ist nicht genug
Konfigurieren Sie VS Code ganz nach Ihrem Geschmack
Fügen Sie zwei notwendige Erweiterungen zu VS Code hinzu
Die Python-Unterstützung von VS Code ist auf dem neuesten Stand
Das Team der technischen Sachverständigen
Danksagungen
0 Warum Python?: Ähnlich und doch anders
Vorbereitungen, Code auszuführen
Vorbereitung für Ihre erste Begegnung mit Jupyter
Füllen wir den Notebook-Editor mit etwas Code
Drücken Sie Shift+Enter, um Ihren Code auszuführen
Was ist, wenn Sie mehr als eine Karte ziehen wollen?
Ein genauerer Blick auf den Code zum Ziehen einer Karte
Die »Großen Vier«: Liste, Tupel, Dictionary und Set
Den Kartenstapel mit einem Set modellieren
Der »print dir«-Combo-Mambo
Hilfe für die Ausgaben von dir
Das Set mit Karten füllen
Das fühlt sich wie ein Stapel Karten an
Was genau ist »card« eigentlich?
Suchen Sie etwas?
Kurze Pause für eine Bestandsaufnahme
Python besitzt eine umfangreiche Standardbibliothek
Mit Python schreiben Sie nur den Code, den Sie brauchen
Gerade als Sie dachten, Sie seien endlich fertig …
1 Eintauchen: Sprung ins kalte Wasser
Wie arbeitet der Coach im Moment?
Der Coach braucht eine bessere Stoppuhr
Bürogespräch
Die Datei und die Tabelle sind »verwandt«
Aufgabe 1: Daten aus dem Dateinamen extrahieren
Ein String ist ein Objekt mit Attributen
Daten des Schwimmers aus dem Dateinamen extrahieren
Versuchen Sie nicht, zu raten, was eine Methode tut …
Einen String auftrennen (»splitten«)
Es gibt noch was zu tun
Lesen Sie Fehlermeldungen von unten nach oben
Vorsicht beim Kombinieren von Methodenaufrufen
Probieren wir es mit einer anderen String-Methode
Wir brauchen nur noch ein paar Variablen
Aufgabe Nummer 1 ist erledigt!
Aufgabe 2: Die Daten in der Datei verarbeiten
2 Listen aus Zahlen: Listendaten verarbeiten
Aufgabe 2: Die Daten in der Datei verarbeiten
Holen Sie sich eine Kopie der Daten des Coachs
Die open-BIF funktioniert mit Dateien
Datei mit with öffnen (und schließen)
Variablen werden bei Bedarf dynamisch erstellt
Eigentlich brauchen Sie die Daten in der Datei
Wir haben die Schwimmer-Daten aus der Datei
Der nächste Schritt kommt uns bekannt vor
Das vorherige Kapitel zahlt sich aus
Einen Zeitstring in einen Zeitwert umwandeln
Mit Python zu Hundertstelsekunden
Ein kurzer Rückblick auf Pythons for-Schleife
Jetzt geht’s rund – for-Schleifen gegen while-Schleifen
Jetzt läuft es fast von selbst, und Sie machen große Fortschritte!
Wir behalten Kopien der konvertierten Werte
Eine Liste der Listenmethoden ausgeben
Es ist Zeit, den Durchschnitt zu berechnen
Den Durchschnittswert in einen Schwimmzeitstring umwandeln
Es ist Zeit, die Einzelteile zusammenzufügen
Aufgabe 2 hat (endlich) die Ziellinie überquert!
3 Listen von Dateien: Funktionen, Module und Dateien
Sie haben den nötigen Code schon fast beisammen
Eine Funktion in Python erstellen
Speichern Sie Ihren Code, so oft Sie wollen
Einfach den Code kopieren reicht nicht
Sämtlicher nötiger Code muss kopiert werden
Module verwenden, um Code weiterzugeben
Erfreuen Sie sich am Glanz der zurückgegebenen Daten
Funktionen geben bei Bedarf ein Tupel zurück
Holen wir uns eine Liste der Dateinamen des Coachs
Zeit für etwas Detektivarbeit …
Was können Sie mit Listen anstellen?
Liegt das Problem bei Ihren Daten oder Ihrem Code?
Entscheidungen über Entscheidungen
Suchen wir den Doppelpunkt »in« dem String
Sind Sie auf 60 verarbeitete Dateien gekommen?
Der Code für den Coach nimmt langsam Form an …
4 Formatierte String-Literale: Tabellen aus Daten
Einfache Balkendiagramme mit HTML und SVG
Von einem einfachen Diagramm zum Balkendiagramm für den Coach
Die im HTML benötigten Strings mit Code erstellen
Die String-Verkettung skaliert nicht
f-Strings sind ein sehr beliebtes Python-Feature
Mit f-Strings ist die Erzeugung von SVG ein Kinderspiel!
Die Daten sind vollständig, oder nicht?
Sicherstellen, dass alle benötigten Daten zurückgegeben werden
Die Zahlen sind da, aber sind sie auch benutzbar?
Es fehlt nur noch das Ende der Webseite
Wie das Lesen aus Dateien klappt auch das Schreiben in Dateien völlig schmerzfrei
Es ist Zeit, Ihr Kunstwerk zu präsentieren
Jetzt sind nur noch zwei ästhetische Anpassungen nötig …
Eine weitere selbst geschriebene Funktion
Erweitern wir das Modul um eine neue Funktion
Was ist mit dem Hundertstelwert los?
Runden ist nicht das Richtige (jedenfalls nicht in diesem Fall)
Es geht gut voran …
5 Daten organisieren: Die richtige Datenstruktur
Eine Liste mit den Namen der Schwimmer erstellen
Der Liste-Set-Liste-Trick
Jetzt hat der Coach eine Liste mit Namen
Eine kleine Änderung macht einen »großen« Unterschied
Jedes Tupel ist einmalig
Superschnelle Lookups mit Dictionaries
Dictionaries verwenden Schlüssel/Wert-Paare für das Lookup
Anatomie eines Dictionary
Dictionaries sind für schnelle Lookups optimiert
Das gesamte Dictionary ausgeben
Das pprint-Modul erstellt einen »Pretty Print« Ihrer Daten
Das Dictionary mit den Listen ist leicht zu verarbeiten
Langsam nimmt die Sache Gestalt an
6 Eine Web-App erstellen: Webentwicklung
Flask aus dem PyPI installieren
Den Ordner für die Web-App vorbereiten
Bei der Arbeit mit Code haben Sie verschiedene Optionen
Anatomie einer Flask-Web-App
Schrittweiser Aufbau der Web-App …
Was hat es mit diesem NameError auf sich?
Flask unterstützt Session-Verwaltung
Flasks Session-Verwaltung benutzt ein Dictionary
Den Code mit der »besseren Lösung« reparieren
Der Einsatz von Jinja2-Templates spart Zeit
base.html erweitern, um weitere Seiten zu erstellen
Drop-down-Menüs dynamisch erzeugen
Irgendwie müssen die Formulardaten verarbeitet werden
Die Formulardaten liegen in einem Dictionary vor
Für Funktionsparameter können Standardwerte angegeben werden
Standardparameterwerte sind optional
Die finale Version Ihres Code, Teil 1 von 2
Die finale Version Ihres Code, Teil 2 von 2
Für eine erste Web-App sieht das schon ganz gut aus
Das System des Coachs ist einsatzbereit
7 Bereitstellung: Code überall ausführen
Etwas stimmt immer noch nicht ganz
Jinja2 führt den Code zwischen {{ und }} aus
Zehn Schritte zur Cloud-Bereitstellung
Ein Beginner-Account reicht völlig aus
Niemand hält Sie davon ab, einfach loszulegen …
Im Zweifel nutzen Sie die Standardeinstellungen
Die Platzhalter-Web-App macht noch nicht viel
Eigenen Code auf PythonAnywhere bereitstellen
Packen Sie Ihren Code in der Konsole aus
Konfigurieren Sie den Web-Tab, damit er auf Ihren Code verweist
Die WSGI-Dateien der Web-App anpassen
Ihre in der Cloud gehostete Web-App ist bereit!
8 Mit HTML arbeiten: Web-Scraping
Der Coach braucht mehr Daten
Machen Sie sich vor dem Scrapen mit den Daten vertraut
Wir brauchen einen Aktionsplan …
Schrittweise Anleitung zum Web-Scraping
Zeit für etwas Web-Scraping-Technologie
Das rohe HTML-Markup von Wikipedia auslesen
Die ausgelesenen Daten untersuchen
Slices können aus beliebigen Folgen herausgeschnitten werden
Anatomie der Slices, Teil 1 von 3
Anatomie der Slices, Teil 2 von 3
Anatomie der Slices, Teil 3 von 3
Zeit für etwas HTML-Parsing-Power
Die »Suppe« nach interessanten Tags durchsuchen
Die zurückgegebene »Suppe« ist ebenfalls durchsuchbar
Welche Tabelle enthält die gesuchten Daten?
Vier große Tabellen und vier Gruppen mit Weltrekorden
Jetzt können wir die Daten auslesen
Daten aus allen Tabellen extrahieren, Teil 1 von 2
Daten aus allen Tabellen extrahieren, Teil 2 von 2
Die verschachtelte Schleife war die Lösung!
9 Mit Daten arbeiten: Datenmanipulation
Daten Ihrem Willen unterwerfen …
Jetzt haben Sie die nötigen Daten …
Wenden Sie Ihr Wissen an!
Haben wir zu viele Daten?
Die Staffeldaten ausfiltern
Nun können wir unsere Balkendiagramme aktualisieren
Python besitzt eine eingebaute JSON-Bibliothek
JSON ist textbasiert, aber nicht schön
Weiter mit der Web-App-Integration
Eine Anpassung und ein Copy-and-paste-Vorgang reichen
Die Weltrekorde zum Balkendiagramm hinzufügen
Ist Ihre neueste Version der Web-App bereit?
PythonAnywhere ist für Sie da …
Auch das Hilfsprogramm muss hochgeladen werden
Die neueste Version der Web-App bei PythonAnywhere bereitstellen
Den neuesten Code auf PythonAnywhere ausführen
Hilfsprogramme vor der Bereitstellung testen
Die Aufgabe täglich um 1:00 Uhr morgens ausführen
9½ Mit Elefanten Dataframes arbeiten: Tabellarische Daten
Der Elefant im Raum … oder ist es ein Panda?
Ein verschachteltes Dictionary mit pandas?
Halten Sie sich zunächst an die Konvention
Eine Liste mit pandas-Dataframes
Spalten aus einem Dataframe auswählen
Dataframe zu Dictionary, erster Versuch
Unnötige Daten aus einem Dataframe entfernen
Den pandas-Bedingungsausdruck verneinen
Dataframe zu Dictionary, zweiter Versuch
Dataframe zu Dictionary, dritter Versuch
Noch ein verschachteltes Dictionary
Vergleich zwischen gazpacho und pandas
Dies war nur ein winziger Einblick …
10 Datenbanken: Dinge ordnen
Der Coach hat sich gemeldet …
Planung zahlt sich aus …
Schritt 1: Eine Datenbankstruktur festlegen
Serviettenstruktur und -daten
Das DBcm-Modul von PyPI installieren
Einstieg in DBcm und SQLite
DBcm und »with« als Team
Benutzen Sie dreifach doppelte Anführungszeichen für Ihren SQL-Code
Nicht jede SQL-Anweisung gibt etwas zurück
Ihre Tabellen sind bereit (und Schritt 1 ist erledigt)
Welche Schwimmer-Dateien brauchen wir?
Schritt 2: Die Datenbanktabelle mit Inhalt füllen
Sicherheit durch Pythons SQL-Platzhalter
Wiederholen wir dieses Vorgehen für die Ereignisse
Jetzt fehlt nur noch die times-Tabelle …
Die Zeiten stehen in den Schwimmer-Dateien …
Ein Hilfsprogramm zur Datenbankaktualisierung, 1 von 2
Ein Hilfsprogramm zur Datenbankaktualisierung, 2 von 2
Schritt 2 ist (endlich) abgeschlossen
11 Listenabstraktionen: Datenbankintegrationen
Testen wir die Abfragen in einem neuen Notebook
Fünf Codezeilen werden zu einer
Combo-Mambo ohne Dunder
Eine Abfrage erledigt, drei fehlen noch …
Zwei Abfragen erledigt, zwei fehlen noch …
Zu guter Letzt, die letzte Abfrage …
Der Code für die Datenbankhilfsfunktionen, Teil 1 von 2
Der Code für die Datenbankhilfsfunktionen, Teil 2 von 2
Wir sind fast bereit für die Datenbankintegration
Es ist Zeit, den Datenbankcode zu integrieren!
Was ist mit dem Template los?
Eine Liste der Ereignisse anzeigen …
Jetzt brauchen wir nur noch ein Balkendiagramm …
Überprüfung des aktuellen Codes in swimclub.py
Begegnung mit dem SVG-erzeugenden Jinja2-Template
Das Modul convert_utils
list zip … wie bitte?!?
Ihre Datenbankintegrationen sind fertig!
12 Bereitstellung in neuem Licht: Der letzte Schliff
Migration zu MariaDB
Die Daten des Coachs zu MariaDB umziehen
Drei Anpassungen für schema.sql
Die Tabellen wiederverwenden, Teil 2 von 2
Überprüfen, ob die Tabellen korrekt eingerichtet wurden
Die vorhandenen Daten zu MariaDB übertragen
Die Abfragen mit MariaDB kompatibel machen
Die Datenbankhilfsfunktionen müssen ebenfalls angepasst werden
Eine neue Datenbank auf PythonAnywhere anlegen
Das Dictionary mit Datenbankinformationen anpassen
Alles in die Cloud kopieren
Die Web-App mit dem neuesten Code aktualisieren
Nur noch wenige Schritte …
Die Cloud-Datenbank mit Daten füllen
Zeit für eine PythonAnywhere-Probefahrt
Stimmt mit PythonAnywhere etwas nicht?
Der Coach ist überglücklich!
Anhang: Die zehn wichtigsten Themen, die wir nicht behandelt haben
1. Klassen
2. Ausnahmen (Exceptions)
3. Tests
4. Der Walross-Operator
5. Wo ist switch? Welcher switch?
6. Fortgeschrittene Sprachmerkmale
7. Nebenläufigkeit
8. Typhinweise
9. Virtuelle Umgebungen
10. Werkzeuge
Der Index
← Prev
Back
Next →
← Prev
Back
Next →