Python für Anfänger · Teil 15TutorialEinsteiger

Python

Python für Anfänger – Teil 15: Module, eigene Dateien und virtuelle Umgebungen

Nutze die Standardbibliothek, teile Code auf und lerne das Prinzip isolierter Projektumgebungen kennen.

Veröffentlicht am

3 Minuten Lesezeit

Voraussetzungen

Du kennst die Inhalte aus Teil 14 und arbeitest mit einem lokalen Python-3-Interpreter (ab Python 3.10), beispielsweise in Thonny.

Das lernst du in dieser Lektion

  • Module importieren.
  • Ein eigenes Hilfsmodul anlegen.
  • Venv und pip einordnen.

Fertige Bausteine verwenden

Ein Modul bündelt Python-Code. Die Standardbibliothek enthält viele davon, beispielsweise math, csv, json und datetime. Sie werden mit Python geliefert und müssen für diesen Kurs nicht mit pip installiert werden.

import math

print(f"Kreiszahl: {math.pi:.3f}")
print(math.isfinite(18.5))
print(math.isfinite(float("inf")))

math.pi greift auf einen Wert im Modul zu. math.isfinite() prüft, ob eine Zahl endlich ist; das hilft bei Mengenprüfungen. Mit from math import pi könntest du einen Namen direkt importieren. Vermeide from math import *, weil dann schwerer erkennbar ist, wo Namen herkommen.

Ein eigenes Modul

Lege diese zwei Dateien im selben Ordner an. Zuerst rechner.py:

def materialkosten(gewicht_g, preis_pro_kg):
    return gewicht_g / 1000 * preis_pro_kg

Dann hauptprogramm.py:

from rechner import materialkosten

print(f"Kosten: {materialkosten(100, 20):.2f} Euro")

Starte hauptprogramm.py. Python findet das Modul im Skriptordner. Die Dateiendung .py steht nicht im Import. Nenne eigene Dateien nicht math.py, csv.py oder json.py, weil sie sonst die gleichnamigen Standardmodule verdecken können.

Nur beim direkten Start ausführen

Importierter Code wird beim ersten Import ausgeführt. Möchtest du in rechner.py eine Probeausgabe unterbringen, schütze sie durch:

if __name__ == "__main__":
    print("Dieses Modul wurde direkt gestartet.")

Beim direkten Start besitzt __name__ den Wert "__main__". Beim Import erhält es den Modulnamen. Die Funktionsdefinition bleibt in beiden Fällen verfügbar. Im Abschlussprojekt verwenden wir dieses Muster für den Programmstart.

Optional: eine Projektumgebung

Eine virtuelle Umgebung trennt zusätzliche Pakete eines Projekts von anderen Projekten. Sie ist für unsere Standardbibliotheksbeispiele nicht nötig. Die folgenden Befehle gehören in ein Betriebssystemterminal, nicht in die Python-Shell. Öffne es im Projektordner. Diese Alternative setzt eine dort erreichbare Python-Installation voraus; Thonnys gebündeltes Python muss im Systemterminal nicht verfügbar sein.

Windows, mit installiertem Python-Launcher:

py -3 -m venv .venv
.venv\Scripts\python.exe -m pip --version

Linux/macOS, mit eingerichtetem python3:

python3 -m venv .venv
.venv/bin/python -m pip --version

Bei Debian/Ubuntu kann vorher das Paket python3-venv nötig sein. Die expliziten Interpreterpfade verwenden die Umgebung ohne Aktivierung. Ein Paket würdest du analog mit diesem Interpreter und -m pip install PAKETNAME installieren; PAKETNAME ist ein Platzhalter, kein auszuführender Kursbefehl. Installiere für den Kurs nichts zusätzlich.

pip verwaltet installierbare Pakete, ein Import macht deren Python-Bausteine im Code zugänglich. Ein Importpaket und der installierte Distributionsname müssen nicht gleich heißen. Den Ordner .venv und automatisch erzeugte __pycache__-Ordner brauchst du nicht ins Git-Repository zu übernehmen.

Mitmach-Aufgabe

Lege in rechner.py zusätzlich restmenge(rest_g, verbrauch_g) an. Importiere sie in hauptprogramm.py und berechne den Rest von 750 g nach 74 g Verbrauch.

Versuche die Aufgabe zuerst selbst. Vergleiche danach deinen Ansatz mit der Musterlösung. Andere Lösungen sind möglich, wenn sie dieselben Anforderungen erfüllen.

Musterlösung

# Datei: rechner.py
def restmenge(rest_g, verbrauch_g):
    return rest_g - verbrauch_g

Ergebnis prüfen

In hauptprogramm.py ergänzt du from rechner import restmenge und print(restmenge(750, 74)). Die Ausgabe ist 676.

Typische Stolperstellen

Ein Terminalbefehl ist kein Python-Code. Der Python-Interpreter des Editors und der im Systemterminal können verschieden sein. Starte nach Änderungen am importierten Modul das Programm frisch.

Was du jetzt kannst

  • Module importieren.
  • Ein eigenes Hilfsmodul anlegen.
  • Venv und pip einordnen.

Passendes Cheatsheet

Zum Nachschlagen: Cheatsheet 12 – Module, Pakete und virtuelle Umgebungen. Dort findest du auch den vorhandenen PDF-Download.

Im nächsten Teil

In Teil 16 geht es um CSV-Dateien für Tabellen und Messwerte. Schreibe tabellarische Daten und lies sie mit dem CSV-Modul wieder ein.

← Teil 14 · Kursübersicht · Weiter zu Teil 16 →