python:grundlagen:03_funktionen
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| python:grundlagen:03_funktionen [28.02.2026 15:41] – lars | python:grundlagen:03_funktionen [28.02.2026 17:45] (aktuell) – [DokuWiki – Python Teil 3: Funktionen und main()] lars | ||
|---|---|---|---|
| Zeile 6: | Zeile 6: | ||
| --- | --- | ||
| - | # 1) Warum Funktionen? | + | ## 1) Warum Funktionen? |
| **Problem ohne Funktionen: | **Problem ohne Funktionen: | ||
| Zeile 24: | Zeile 24: | ||
| --- | --- | ||
| - | + | ## 2) Dein nächstes Script: `03_funktionen.py` | |
| - | # 2) Dein nächstes Script: `03_funktionen.py` | + | |
| Kopiere das komplett als neue Datei: | Kopiere das komplett als neue Datei: | ||
| - | ```python | + | < |
| + | # | ||
| # 03_funktionen.py | # 03_funktionen.py | ||
| # Menü-Programm mit Funktionen: Hosts sammeln, Duplikate verhindern, anzeigen, zählen, filtern, sortieren | # Menü-Programm mit Funktionen: Hosts sammeln, Duplikate verhindern, anzeigen, zählen, filtern, sortieren | ||
| + | # Importieren von Modulen | ||
| import os | import os | ||
| + | """ | ||
| + | Funktionen | ||
| + | |||
| + | * Alle Funktionen haben einen Docstring, damit man später weiß, | ||
| + | * was sie tun und welche Parameter sie erwarten. | ||
| + | * welche Datentypen sie erwarten und zurückgeben | ||
| + | (auch wenn Python das nicht erzwingt). | ||
| + | * was sie tun, ohne den Code lesen zu müssen. | ||
| + | | ||
| + | * Alle Funktionen haben eine klare Trennung von Ein- und Ausgabe, | ||
| + | damit man sie später leichter testen und wiederverwenden kann. | ||
| + | * Alle Funktionen haben eine klare Trennung von Logik und Präsentation, | ||
| + | damit man sie später leichter anpassen und erweitern kann. | ||
| + | """ | ||
| + | |||
| + | # Funktion zum Normalisieren von Text (z.B. für Vergleiche) | ||
| def normalize(text: | def normalize(text: | ||
| """ | """ | ||
| return text.strip().lower() | return text.strip().lower() | ||
| + | # Funktion zum Bildschirm löschen (plattformunabhängig) | ||
| def cls() -> None: | def cls() -> None: | ||
| os.system(" | os.system(" | ||
| + | # Funktion zum Sammeln von Hostnamen | ||
| def eingaben_sammeln() -> list[str]: | def eingaben_sammeln() -> list[str]: | ||
| """ | """ | ||
| Zeile 63: | Zeile 82: | ||
| return hosts | return hosts | ||
| + | # Funktion zum Anzeigen der gesammelten Hosts | ||
| def hosts_anzeigen(hosts: | def hosts_anzeigen(hosts: | ||
| cls() | cls() | ||
| Zeile 72: | Zeile 92: | ||
| print(f" | print(f" | ||
| + | # Funktion zum Anzeigen der Anzahl der gesammelten Hosts | ||
| def anzahl_anzeigen(hosts: | def anzahl_anzeigen(hosts: | ||
| cls() | cls() | ||
| Zeile 78: | Zeile 99: | ||
| print(" | print(" | ||
| + | # Funktion zum Filtern der Hosts nach TLD | ||
| def tld_filtern(hosts: | def tld_filtern(hosts: | ||
| cls() | cls() | ||
| Zeile 94: | Zeile 116: | ||
| print(f" | print(f" | ||
| + | # Funktion zum Sortieren der Hosts | ||
| def sortieren(hosts: | def sortieren(hosts: | ||
| cls() | cls() | ||
| Zeile 105: | Zeile 128: | ||
| print(f" | print(f" | ||
| + | # Funktion zum Anzeigen des Menüs und Abfrage der Auswahl | ||
| def menue() -> str: | def menue() -> str: | ||
| print( | print( | ||
| Zeile 115: | Zeile 139: | ||
| return input(" | return input(" | ||
| + | # Hauptfunktion, | ||
| def main() -> None: | def main() -> None: | ||
| hosts = eingaben_sammeln() | hosts = eingaben_sammeln() | ||
| Zeile 145: | Zeile 170: | ||
| input(" | input(" | ||
| + | # Nur ausführen, wenn das Skript direkt gestartet wird (nicht importiert) | ||
| if __name__ == " | if __name__ == " | ||
| main() | main() | ||
| - | ``` | + | </ |
| + | <WRAP center round important 60%> | ||
| **Wichtiges neues Konzept:** | **Wichtiges neues Konzept:** | ||
| + | |||
| `if __name__ == " | `if __name__ == " | ||
| + | </ | ||
| + | |||
| --- | --- | ||
| - | # 3) Mini-Übung (Baustein innerhalb Baustein) | + | ## 3) Mini-Übung (Baustein innerhalb Baustein) |
| Füge eine **neue Menüoption 6** hinzu: „Host hinzufügen (nachträglich)“. | Füge eine **neue Menüoption 6** hinzu: „Host hinzufügen (nachträglich)“. | ||
| Zeile 167: | Zeile 197: | ||
| --- | --- | ||
| - | # 4) DokuWiki-Seite (Teil 3) | + | ## Python Teil 3: Funktionen und main() |
| - | + | ||
| - | ## DokuWiki – Python Teil 3: Funktionen und main() | + | |
| > Ziel: Code in kleine Bausteine zerlegen, damit er übersichtlich, | > Ziel: Code in kleine Bausteine zerlegen, damit er übersichtlich, | ||
python/grundlagen/03_funktionen.1772289680.txt.gz · Zuletzt geändert: von lars