Kapitel 6
Die Standardbibliothek gibt es bereits
Eine passende API für die Aufgabe wählen
Manchmal ist es richtig, ein Paket zu installieren. Es ist aber nicht die erste Antwort auf jedes Problem, denn Python bringt bereits vieles mit.
Ein Modul ist eine Einheit aus Python-Code, die ein anderes Modul importieren kann. Viele Module sind einzelne .py-Dateien, andere sind Pakete mit mehreren Dateien. Du hast diese Idee bereits genutzt: import requests hat auf installierten Code zugegriffen. Der Unterschied hier ist, dass die drei Module dieses Kapitels zu Python selbst gehören. Sie sind Teil der Standardbibliothek, und für diese drei ist kein pip install nötig.
Vor dem Start noch ein Begriff, denn er wird für zwei verschiedene Dinge verwendet, was tatsächlich Verwirrung stiftet. In diesem Kapitel bezeichnet die API eines Moduls seine öffentliche Schnittstelle: die angebotenen Funktionen, was du ihnen übergibst und was du zurückbekommst. Kapitel 11 verwendet dasselbe Wort für einen Dienst, mit dem du über das Netzwerk kommunizierst. Derselbe Begriff, etwas deutlich anderes. Hier bedeutet er „der Teil dieses Moduls, den du verwenden sollst“.
Dieses Kapitel erstellt eine Aktivitätsübersicht. Sie hat drei Aufgaben:
den Abstand zwischen zwei Kalenderdaten messen;
Aktivitäten nach Kategorie zählen;
die Mitte einer Sammlung von Aktivitätsdauern beschreiben.
Diese kurze Aufgabenliste ist nützlicher, als Modulnamen auswendig zu lernen. Sie gibt jeder Suche eine Frage.
Von der Aufgabe zu einer konkreten Vereinbarung
Verwende die Python-Bibliotheksübersicht als Karte, nicht als Buch, das du ab Seite eins liest. Gehe für jede Aufgabe so vor:
Beschreibe die Aufgabe in gewöhnlichen Worten: „Ein ISO-Datum einlesen und Daten voneinander abziehen.“
Finde das wahrscheinlich passende Modul:
datetime.Finde das Objekt oder die Funktion, die für die Operation zuständig ist:
date.fromisoformat.Lies die Signatur, den Rückgabewert, die akzeptierten Eingaben und die beschriebenen Fehlerfälle.
Probiere ein winziges Beispiel aus, bevor du die Operation ins Projekt einbaust.
Derselbe Weg führt von „Bezeichnungen zählen“ zu collections.Counter und von „Mittelwert und Median bestimmen“ zu statistics. Wir verwenden nur diese drei Module. Die Standardbibliothek ist groß; dieses Kapitel ist kein Rundgang durch sie.
Importieren ist nicht Installieren
Diese beiden Zeilen importieren jeweils ein Modul:
import statistics
import requests
Aber nur statistics wird mit Python ausgeliefert. Im früheren Kapitel über Umgebungen wurde requests aus einem Paketindex installiert. Wenn du pip install statistics ausführst, hast du die erste Frage übersprungen: ob Python die benötigte Fähigkeit bereits mitbringt.
Die URL der Dokumentation ist ein weiterer Hinweis. Die Referenz dieser Module liegt unter docs.python.org/3/library/. Ein Drittanbieterprojekt hat seinen eigenen Veröffentlichungs- und Installationsweg.
Du musst den Median einiger Zahlen berechnen. Was ist der beste erste Schritt?
Eine Dokumentationsseite zeigt Signatur, Rückgabewert, akzeptierte Eingaben und Ausnahmen einer Funktion. Was kannst du anhand dieser Informationen entscheiden?
Als Nächstes verwendest du diesen Weg für eine echte Datumsberechnung und beginnst mit der einen Projektdatei dieses Kapitels.
Weißt du nicht, welches Modul für eine Aufgabe zuständig ist? Beschreibe Monty die Aufgabe in gewöhnlichen Worten und frage, welcher Teil der Standardbibliothek sie abdeckt. Bitte um die Dokumentationsseite statt um den Code, damit du selbst übst, die Vereinbarung zu lesen.