697 lines
43 KiB
Plaintext
697 lines
43 KiB
Plaintext
|
|
{
|
||
|
|
"cells": [
|
||
|
|
{
|
||
|
|
"metadata": {},
|
||
|
|
"cell_type": "markdown",
|
||
|
|
"source": [
|
||
|
|
"# Wichtige Python-Bibliotheken\n",
|
||
|
|
"\n",
|
||
|
|
"## Ziel dieser Einheit\n",
|
||
|
|
"\n",
|
||
|
|
"In dieser Einheit lernst du:\n",
|
||
|
|
"\n",
|
||
|
|
"- welche Python-Bibliotheken für typische Aufgaben wichtig sind\n",
|
||
|
|
"- wie Dateien und Verzeichnisse verarbeitet werden\n",
|
||
|
|
"- wie Datenformate wie JSON und CSV genutzt werden\n",
|
||
|
|
"- wie Datum, Zeit, Zufall und Mathematik unterstützt werden\n",
|
||
|
|
"- wie reguläre Ausdrücke verwendet werden\n",
|
||
|
|
"- welche externen Bibliotheken für Web, Datenanalyse und Visualisierung häufig genutzt werden\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## 1. Überblick\n",
|
||
|
|
"\n",
|
||
|
|
"Python bringt bereits viele Bibliotheken mit, die häufige Aufgaben erleichtern.\n",
|
||
|
|
"\n",
|
||
|
|
"Diese Bibliotheken nennt man Standardbibliothek.\n",
|
||
|
|
"\n",
|
||
|
|
"Sie helfen zum Beispiel bei:\n",
|
||
|
|
"\n",
|
||
|
|
"- Dateien und Verzeichnissen\n",
|
||
|
|
"- Datenformaten\n",
|
||
|
|
"- Datum und Zeit\n",
|
||
|
|
"- Zufallszahlen\n",
|
||
|
|
"- mathematischen Berechnungen\n",
|
||
|
|
"- regulären Ausdrücken\n",
|
||
|
|
"\n",
|
||
|
|
"Zusätzlich gibt es externe Bibliotheken, die nicht automatisch installiert sind.\n",
|
||
|
|
"\n",
|
||
|
|
"Beispiele dafür sind:\n",
|
||
|
|
"\n",
|
||
|
|
"- requests\n",
|
||
|
|
"- pandas\n",
|
||
|
|
"- matplotlib\n",
|
||
|
|
"\n",
|
||
|
|
"Diese müssen bei Bedarf zusätzlich installiert werden.\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## 2. Dateien und Verzeichnisse mit os\n",
|
||
|
|
"\n",
|
||
|
|
"Die Bibliothek os enthält Funktionen für den Zugriff auf das Betriebssystem.\n",
|
||
|
|
"\n",
|
||
|
|
"Damit können zum Beispiel Informationen über Verzeichnisse abgefragt werden.\n"
|
||
|
|
],
|
||
|
|
"id": "d806e8d5775c1709"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {},
|
||
|
|
"cell_type": "code",
|
||
|
|
"outputs": [],
|
||
|
|
"execution_count": null,
|
||
|
|
"source": [
|
||
|
|
"import os\n",
|
||
|
|
"print(os.getcwd())"
|
||
|
|
],
|
||
|
|
"id": "e77758f9a02f797f"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {},
|
||
|
|
"cell_type": "markdown",
|
||
|
|
"source": [
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"os.getcwd() gibt das aktuelle Arbeitsverzeichnis aus.\n",
|
||
|
|
"\n",
|
||
|
|
"Das ist hilfreich, wenn man wissen möchte, in welchem Ordner das Python-Programm gerade ausgeführt wird.\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## 3. Dateien prüfen mit pathlib\n",
|
||
|
|
"\n",
|
||
|
|
"pathlib ist eine moderne Bibliothek zum Arbeiten mit Dateipfaden.\n",
|
||
|
|
"\n",
|
||
|
|
" from pathlib import Path\n",
|
||
|
|
" print(Path(\"datei.csv\").exists())\n",
|
||
|
|
"\n",
|
||
|
|
"Path(\"datei.csv\").exists() prüft, ob die Datei datei.csv existiert.\n",
|
||
|
|
"\n",
|
||
|
|
"Das Ergebnis ist ein Boolean-Wert:\n",
|
||
|
|
"\n",
|
||
|
|
"- True → Datei existiert\n",
|
||
|
|
"- False → Datei existiert nicht\n",
|
||
|
|
"\n",
|
||
|
|
"pathlib ist oft lesbarer als ältere Lösungen mit os.\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## 4. JSON als Datenformat\n",
|
||
|
|
"\n",
|
||
|
|
"JSON ist ein häufig verwendetes Datenformat.\n",
|
||
|
|
"\n",
|
||
|
|
"Es wird oft genutzt, um Daten zwischen Programmen oder über APIs auszutauschen."
|
||
|
|
],
|
||
|
|
"id": "dc1cc14ebcebf6d3"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {
|
||
|
|
"ExecuteTime": {
|
||
|
|
"end_time": "2026-07-23T06:21:46.771084600Z",
|
||
|
|
"start_time": "2026-07-23T06:21:46.734774200Z"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"cell_type": "code",
|
||
|
|
"source": [
|
||
|
|
"import json\n",
|
||
|
|
"print(json.dumps({\"name\": \"Anna\"}))"
|
||
|
|
],
|
||
|
|
"id": "4fa664e155d8908e",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"name": "stdout",
|
||
|
|
"output_type": "stream",
|
||
|
|
"text": [
|
||
|
|
"{\"name\": \"Anna\"}\n"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"execution_count": 6
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {},
|
||
|
|
"cell_type": "markdown",
|
||
|
|
"source": [
|
||
|
|
"\n",
|
||
|
|
"json.dumps() wandelt Python-Daten in einen JSON-String um.\n",
|
||
|
|
"\n",
|
||
|
|
"In diesem Beispiel wird ein Dictionary verwendet:\n",
|
||
|
|
"\n",
|
||
|
|
" {\"name\": \"Anna\"}\n",
|
||
|
|
"\n",
|
||
|
|
"Das Ergebnis ist ein Text im JSON-Format.\n",
|
||
|
|
"\n",
|
||
|
|
"JSON ist besonders wichtig bei:\n",
|
||
|
|
"\n",
|
||
|
|
"- Web-APIs\n",
|
||
|
|
"- Konfigurationsdateien\n",
|
||
|
|
"- Datenaustausch zwischen Anwendungen\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## 5. CSV-Dateien\n",
|
||
|
|
"\n",
|
||
|
|
"CSV-Dateien sind Textdateien für tabellarische Daten.\n",
|
||
|
|
"\n",
|
||
|
|
"CSV steht für Comma-separated values.\n",
|
||
|
|
"\n",
|
||
|
|
"In der Praxis werden CSV-Dateien häufig für Exporte aus Tabellenprogrammen oder anderen Anwendungen verwendet.\n"
|
||
|
|
],
|
||
|
|
"id": "b2d53fd19c06cd65"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {
|
||
|
|
"ExecuteTime": {
|
||
|
|
"end_time": "2026-07-23T06:21:38.576322300Z",
|
||
|
|
"start_time": "2026-07-23T06:21:38.518128200Z"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"cell_type": "code",
|
||
|
|
"source": [
|
||
|
|
"import csv\n",
|
||
|
|
"\n",
|
||
|
|
"with open(\"datei.csv\") as f:\n",
|
||
|
|
" reader = csv.reader(f)\n",
|
||
|
|
" for line in reader:\n",
|
||
|
|
" print(line)"
|
||
|
|
],
|
||
|
|
"id": "8d640100b34ccf09",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"name": "stdout",
|
||
|
|
"output_type": "stream",
|
||
|
|
"text": [
|
||
|
|
"['Dies', ' ist', ' eine', ' CSV']\n",
|
||
|
|
"['Dies', ' ist', ' eine', ' Zeile']\n"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"execution_count": 5
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {},
|
||
|
|
"cell_type": "markdown",
|
||
|
|
"source": [
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"Ablauf:\n",
|
||
|
|
"\n",
|
||
|
|
"1. Die Datei datei.csv wird geöffnet\n",
|
||
|
|
"2. csv.reader(f) liest die Datei zeilenweise\n",
|
||
|
|
"3. Jede Zeile wird als Liste ausgegeben\n",
|
||
|
|
"\n",
|
||
|
|
"Die Schreibweise mit with sorgt dafür, dass die Datei automatisch wieder geschlossen wird.\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## 6. Datum und Zeit\n",
|
||
|
|
"\n",
|
||
|
|
"Für Datum und Uhrzeit wird häufig datetime verwendet.\n"
|
||
|
|
],
|
||
|
|
"id": "5b9e3d33e528f471"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {
|
||
|
|
"ExecuteTime": {
|
||
|
|
"end_time": "2026-07-23T06:21:51.172465100Z",
|
||
|
|
"start_time": "2026-07-23T06:21:51.134798300Z"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"cell_type": "code",
|
||
|
|
"source": [
|
||
|
|
"from datetime import datetime\n",
|
||
|
|
"print(datetime.now())"
|
||
|
|
],
|
||
|
|
"id": "65f933470ead2c90",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"name": "stdout",
|
||
|
|
"output_type": "stream",
|
||
|
|
"text": [
|
||
|
|
"2026-07-23 08:21:51.142547\n"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"execution_count": 7
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {},
|
||
|
|
"cell_type": "markdown",
|
||
|
|
"source": [
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"datetime.now() gibt das aktuelle Datum und die aktuelle Uhrzeit zurück.\n",
|
||
|
|
"\n",
|
||
|
|
"Das ist nützlich für:\n",
|
||
|
|
"\n",
|
||
|
|
"- Zeitstempel\n",
|
||
|
|
"- Protokolle\n",
|
||
|
|
"- Berechnungen mit Datum und Uhrzeit\n",
|
||
|
|
"- Anzeige aktueller Zeitpunkte\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## 7. Zufallszahlen\n",
|
||
|
|
"\n",
|
||
|
|
"Für Zufallszahlen wird die Bibliothek random verwendet.\n"
|
||
|
|
],
|
||
|
|
"id": "e90d8636f98a3258"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {
|
||
|
|
"ExecuteTime": {
|
||
|
|
"end_time": "2026-07-23T06:27:15.504068800Z",
|
||
|
|
"start_time": "2026-07-23T06:27:15.461391300Z"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"cell_type": "code",
|
||
|
|
"source": [
|
||
|
|
"import random\n",
|
||
|
|
"print(random.randint(1, 10))"
|
||
|
|
],
|
||
|
|
"id": "53dc9d63415c7d1b",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"name": "stdout",
|
||
|
|
"output_type": "stream",
|
||
|
|
"text": [
|
||
|
|
"2\n"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"execution_count": 36
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {},
|
||
|
|
"cell_type": "markdown",
|
||
|
|
"source": [
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"random.randint(1, 10) erzeugt eine Zufallszahl zwischen 1 und 10.\n",
|
||
|
|
"\n",
|
||
|
|
"Beide Grenzen sind dabei eingeschlossen.\n",
|
||
|
|
"\n",
|
||
|
|
"Zufallszahlen werden häufig verwendet für:\n",
|
||
|
|
"\n",
|
||
|
|
"- Spiele\n",
|
||
|
|
"- Simulationen\n",
|
||
|
|
"- Tests\n",
|
||
|
|
"- zufällige Auswahl von Werten\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## 8. Mathematische Funktionen\n",
|
||
|
|
"\n",
|
||
|
|
"Die Bibliothek math enthält mathematische Funktionen.\n"
|
||
|
|
],
|
||
|
|
"id": "4f5844bbf29fedd9"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {
|
||
|
|
"ExecuteTime": {
|
||
|
|
"end_time": "2026-07-23T06:22:13.617188500Z",
|
||
|
|
"start_time": "2026-07-23T06:22:13.557773800Z"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"cell_type": "code",
|
||
|
|
"source": [
|
||
|
|
"import math\n",
|
||
|
|
"print(math.sqrt(16))"
|
||
|
|
],
|
||
|
|
"id": "a3345e045fe57ec1",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"name": "stdout",
|
||
|
|
"output_type": "stream",
|
||
|
|
"text": [
|
||
|
|
"4.0\n"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"execution_count": 8
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {},
|
||
|
|
"cell_type": "markdown",
|
||
|
|
"source": [
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"math.sqrt(16) berechnet die Quadratwurzel von 16.\n",
|
||
|
|
"\n",
|
||
|
|
"Das Ergebnis ist:\n",
|
||
|
|
"\n",
|
||
|
|
" 4.0\n",
|
||
|
|
"\n",
|
||
|
|
"math bietet viele weitere Funktionen, zum Beispiel für:\n",
|
||
|
|
"\n",
|
||
|
|
"- Potenzen\n",
|
||
|
|
"- Rundungen\n",
|
||
|
|
"- trigonometrische Funktionen\n",
|
||
|
|
"- Konstanten wie pi\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## 9. Reguläre Ausdrücke\n",
|
||
|
|
"\n",
|
||
|
|
"Reguläre Ausdrücke werden mit der Bibliothek re verarbeitet.\n",
|
||
|
|
"\n",
|
||
|
|
"Sie dienen dazu, Muster in Texten zu finden.\n"
|
||
|
|
],
|
||
|
|
"id": "181d36505443c9d"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {
|
||
|
|
"ExecuteTime": {
|
||
|
|
"end_time": "2026-07-23T06:32:11.783546600Z",
|
||
|
|
"start_time": "2026-07-23T06:32:11.751408Z"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"cell_type": "code",
|
||
|
|
"source": [
|
||
|
|
"import re\n",
|
||
|
|
"print(bool(re.match(r\"\\d+\", \"11\")))"
|
||
|
|
],
|
||
|
|
"id": "c40e185426ff334",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"name": "stdout",
|
||
|
|
"output_type": "stream",
|
||
|
|
"text": [
|
||
|
|
"True\n"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"execution_count": 45
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {},
|
||
|
|
"cell_type": "markdown",
|
||
|
|
"source": [
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"re.match(r\"\\d+\", \"123\") prüft, ob der String mit einer oder mehreren Ziffern beginnt.\n",
|
||
|
|
"\n",
|
||
|
|
"Erklärung:\n",
|
||
|
|
"\n",
|
||
|
|
"- \\d steht für eine Ziffer\n",
|
||
|
|
"- + bedeutet: einmal oder mehrfach\n",
|
||
|
|
"- \"123\" beginnt mit Ziffern\n",
|
||
|
|
"\n",
|
||
|
|
"bool(...) wandelt das Ergebnis in True oder False um.\n",
|
||
|
|
"\n",
|
||
|
|
"Reguläre Ausdrücke sind hilfreich für:\n",
|
||
|
|
"\n",
|
||
|
|
"- Textsuche\n",
|
||
|
|
"- Validierung von Eingaben\n",
|
||
|
|
"- Erkennen bestimmter Muster\n",
|
||
|
|
"- einfache Textanalyse\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## 10. HTTP und Web mit requests\n",
|
||
|
|
"\n",
|
||
|
|
"Für HTTP-Anfragen wird häufig die externe Bibliothek requests verwendet.\n"
|
||
|
|
],
|
||
|
|
"id": "a99b5bcc0d9ba05a"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {
|
||
|
|
"ExecuteTime": {
|
||
|
|
"end_time": "2026-07-23T06:13:02.238543200Z",
|
||
|
|
"start_time": "2026-07-23T06:13:01.213093300Z"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"cell_type": "code",
|
||
|
|
"source": [
|
||
|
|
"import requests\n",
|
||
|
|
"print(requests.get(\"https://api.github.com\").status_code)"
|
||
|
|
],
|
||
|
|
"id": "9a916a956765d052",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"name": "stdout",
|
||
|
|
"output_type": "stream",
|
||
|
|
"text": [
|
||
|
|
"200\n"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"execution_count": 1
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {},
|
||
|
|
"cell_type": "markdown",
|
||
|
|
"source": [
|
||
|
|
"requests ist nicht Teil der Standardbibliothek.\n",
|
||
|
|
"\n",
|
||
|
|
"Wenn requests verwendet werden soll, muss die Bibliothek vorher installiert werden.\n",
|
||
|
|
"\n",
|
||
|
|
"Beispiel:\n",
|
||
|
|
"\n",
|
||
|
|
" pip install requests\n",
|
||
|
|
"\n",
|
||
|
|
"Mit requests können Web-APIs abgefragt werden.\n",
|
||
|
|
"\n",
|
||
|
|
"Der Statuscode zeigt an, ob eine Anfrage erfolgreich war.\n",
|
||
|
|
"\n",
|
||
|
|
"Beispiele:\n",
|
||
|
|
"\n",
|
||
|
|
"- 200 → erfolgreich\n",
|
||
|
|
"- 404 → nicht gefunden\n",
|
||
|
|
"- 500 → Serverfehler\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## 11. Alternative zu requests: urllib\n",
|
||
|
|
"\n",
|
||
|
|
"Wenn keine externe Bibliothek installiert werden soll, kann urllib verwendet werden.\n",
|
||
|
|
"\n",
|
||
|
|
"urllib gehört zur Standardbibliothek.\n",
|
||
|
|
"\n",
|
||
|
|
"Der Vorteil:\n",
|
||
|
|
"\n",
|
||
|
|
"- keine zusätzliche Installation nötig\n",
|
||
|
|
"\n",
|
||
|
|
"Der Nachteil:\n",
|
||
|
|
"\n",
|
||
|
|
"- weniger komfortabel als requests\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## 12. Datenanalyse mit pandas\n",
|
||
|
|
"\n",
|
||
|
|
"pandas ist eine externe Bibliothek für Datenanalyse.\n"
|
||
|
|
],
|
||
|
|
"id": "562f7b5c490ca65d"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {
|
||
|
|
"ExecuteTime": {
|
||
|
|
"end_time": "2026-07-23T06:16:45.001465600Z",
|
||
|
|
"start_time": "2026-07-23T06:16:43.101256500Z"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"cell_type": "code",
|
||
|
|
"source": [
|
||
|
|
"import pandas as pd\n",
|
||
|
|
"df = pd.DataFrame({\"a\": [1, 2, 3]})"
|
||
|
|
],
|
||
|
|
"id": "c5891b3e345a01ec",
|
||
|
|
"outputs": [],
|
||
|
|
"execution_count": 2
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {},
|
||
|
|
"cell_type": "markdown",
|
||
|
|
"source": [
|
||
|
|
"pandas wird häufig verwendet, um tabellarische Daten zu verarbeiten.\n",
|
||
|
|
"\n",
|
||
|
|
"Zum Beispiel:\n",
|
||
|
|
"\n",
|
||
|
|
"- CSV-Dateien einlesen\n",
|
||
|
|
"- Daten filtern\n",
|
||
|
|
"- Daten gruppieren\n",
|
||
|
|
"- Daten auswerten\n",
|
||
|
|
"- Tabellen ähnlich wie in Excel bearbeiten\n",
|
||
|
|
"\n",
|
||
|
|
"pandas ist nicht Teil der Standardbibliothek und muss bei Bedarf installiert werden.\n",
|
||
|
|
"\n",
|
||
|
|
"Beispiel:\n",
|
||
|
|
"\n",
|
||
|
|
" pip install pandas\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## 13. Visualisierung mit matplotlib\n",
|
||
|
|
"\n",
|
||
|
|
"matplotlib ist eine externe Bibliothek zum Erstellen von Diagrammen.\n"
|
||
|
|
],
|
||
|
|
"id": "cbb0beecbe743112"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {
|
||
|
|
"ExecuteTime": {
|
||
|
|
"end_time": "2026-07-23T06:35:07.696130800Z",
|
||
|
|
"start_time": "2026-07-23T06:35:07.555373200Z"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"cell_type": "code",
|
||
|
|
"source": [
|
||
|
|
"import matplotlib.pyplot as plt\n",
|
||
|
|
"plt.plot([1, 2, 3], [4, 5, 6])\n",
|
||
|
|
"plt.show()"
|
||
|
|
],
|
||
|
|
"id": "3940fcd1a8543718",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"data": {
|
||
|
|
"text/plain": [
|
||
|
|
"<Figure size 640x480 with 1 Axes>"
|
||
|
|
],
|
||
|
|
"image/png": "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
|
||
|
|
},
|
||
|
|
"metadata": {},
|
||
|
|
"output_type": "display_data",
|
||
|
|
"jetTransient": {
|
||
|
|
"display_id": null
|
||
|
|
}
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"execution_count": 46
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {},
|
||
|
|
"cell_type": "markdown",
|
||
|
|
"source": [
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"Mit matplotlib können Daten grafisch dargestellt werden.\n",
|
||
|
|
"\n",
|
||
|
|
"Zum Beispiel:\n",
|
||
|
|
"\n",
|
||
|
|
"- Liniendiagramme\n",
|
||
|
|
"- Balkendiagramme\n",
|
||
|
|
"- Punktdiagramme\n",
|
||
|
|
"- einfache Auswertungen\n",
|
||
|
|
"\n",
|
||
|
|
"matplotlib ist besonders hilfreich, wenn Daten nicht nur berechnet, sondern auch sichtbar gemacht werden sollen.\n",
|
||
|
|
"\n",
|
||
|
|
"Auch matplotlib muss bei Bedarf installiert werden.\n",
|
||
|
|
"\n",
|
||
|
|
"Beispiel:\n",
|
||
|
|
"\n",
|
||
|
|
" pip install matplotlib\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## 14. Wichtige Konzepte im Überblick\n",
|
||
|
|
"\n",
|
||
|
|
"### Standardbibliothek\n",
|
||
|
|
"\n",
|
||
|
|
"Die Standardbibliothek ist direkt in Python enthalten.\n",
|
||
|
|
"\n",
|
||
|
|
"Beispiele:\n",
|
||
|
|
"\n",
|
||
|
|
"- os\n",
|
||
|
|
"- pathlib\n",
|
||
|
|
"- json\n",
|
||
|
|
"- csv\n",
|
||
|
|
"- datetime\n",
|
||
|
|
"- random\n",
|
||
|
|
"- math\n",
|
||
|
|
"- re\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"### Externe Bibliotheken\n",
|
||
|
|
"\n",
|
||
|
|
"Externe Bibliotheken müssen zusätzlich installiert werden.\n",
|
||
|
|
"\n",
|
||
|
|
"Beispiele:\n",
|
||
|
|
"\n",
|
||
|
|
"- requests\n",
|
||
|
|
"- pandas\n",
|
||
|
|
"- matplotlib\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"### Import\n",
|
||
|
|
"\n",
|
||
|
|
"Mit import werden Bibliotheken eingebunden.\n",
|
||
|
|
"\n",
|
||
|
|
"Beispiel:\n"
|
||
|
|
],
|
||
|
|
"id": "866a163292f47048"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {},
|
||
|
|
"cell_type": "code",
|
||
|
|
"outputs": [],
|
||
|
|
"execution_count": null,
|
||
|
|
"source": "import random",
|
||
|
|
"id": "7b1b02fa0328a838"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {},
|
||
|
|
"cell_type": "markdown",
|
||
|
|
"source": [
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"Danach können Funktionen aus dieser Bibliothek verwendet werden.\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"### from import\n",
|
||
|
|
"\n",
|
||
|
|
"Mit from import kann gezielt ein Teil einer Bibliothek importiert werden.\n",
|
||
|
|
"\n",
|
||
|
|
"Beispiel:\n"
|
||
|
|
],
|
||
|
|
"id": "3aeb90a1b507c8c1"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {},
|
||
|
|
"cell_type": "code",
|
||
|
|
"outputs": [],
|
||
|
|
"execution_count": null,
|
||
|
|
"source": "from datetime import datetime",
|
||
|
|
"id": "8f9012dff21be2af"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"metadata": {
|
||
|
|
"collapsed": true
|
||
|
|
},
|
||
|
|
"cell_type": "markdown",
|
||
|
|
"source": [
|
||
|
|
"\n",
|
||
|
|
"Dadurch kann datetime direkt verwendet werden.\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## Zusammenfassung\n",
|
||
|
|
"\n",
|
||
|
|
"- Python bietet viele Bibliotheken für typische Aufgaben\n",
|
||
|
|
"- os und pathlib helfen beim Arbeiten mit Dateien und Verzeichnissen\n",
|
||
|
|
"- json und csv werden für Datenformate verwendet\n",
|
||
|
|
"- datetime verarbeitet Datum und Uhrzeit\n",
|
||
|
|
"- random erzeugt Zufallszahlen\n",
|
||
|
|
"- math stellt mathematische Funktionen bereit\n",
|
||
|
|
"- re verarbeitet reguläre Ausdrücke\n",
|
||
|
|
"- requests, pandas und matplotlib sind externe Bibliotheken für Web, Datenanalyse und Visualisierung\n",
|
||
|
|
"\n",
|
||
|
|
"\n",
|
||
|
|
"## Verständnisfragen\n",
|
||
|
|
"\n",
|
||
|
|
"- Wofür wird os.getcwd() verwendet?\n",
|
||
|
|
"- Was prüft Path(\"datei.csv\").exists()?\n",
|
||
|
|
"- Wozu dient json.dumps()?\n",
|
||
|
|
"- Warum wird beim Lesen einer Datei häufig with verwendet?\n",
|
||
|
|
"- Was ist der Unterschied zwischen Standardbibliotheken und externen Bibliotheken?"
|
||
|
|
],
|
||
|
|
"id": "2771261011b94e9c"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"metadata": {
|
||
|
|
"kernelspec": {
|
||
|
|
"display_name": "Python 3",
|
||
|
|
"language": "python",
|
||
|
|
"name": "python3"
|
||
|
|
},
|
||
|
|
"language_info": {
|
||
|
|
"codemirror_mode": {
|
||
|
|
"name": "ipython",
|
||
|
|
"version": 2
|
||
|
|
},
|
||
|
|
"file_extension": ".py",
|
||
|
|
"mimetype": "text/x-python",
|
||
|
|
"name": "python",
|
||
|
|
"nbconvert_exporter": "python",
|
||
|
|
"pygments_lexer": "ipython2",
|
||
|
|
"version": "2.7.6"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"nbformat": 4,
|
||
|
|
"nbformat_minor": 5
|
||
|
|
}
|