Python 4.4 – Eigene Module
Herzlich Willkommen zur Lektion „Module erstellen“ in unserem Pythonratgeber. Wir haben in der letzten Lektion gelernt, wie man Module einbindet. In der aktuellen Lektion wollen wir uns ansehen, wie man eigene Module erstellt und einbindet.
Wie erstellt man eigene Module?
Ein Modul besteht im Wesentlichen erst einmal aus einer Datei, die Python-Code enthält. Diese Datei kann dann über die import-Anweisung eingebunden werden. Um dies zu ermöglichen, müssen zwei Bedingungen erfüllt sein:
1. Modul in Ordner ablegen
Das Modul muss in einem der Ordner liegen, die Python kennt. Dies kann einer der Ordner sein, die in der sys.path Variable gespeichert sind. Welche das sind, können wir uns sehr einfach mit Python selbst anzeigen lassen:
import sys
print(sys.path)
Auf meinem Macbook wird dieser Code z.B. folgende Ausgabe erzeugen:
['', '/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python37.zip', '/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7', '/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload', '/Users/usser/Library/Python/3.7/lib/python/site-packages', '/usr/local/lib/python3.7/site-packages']
Die Alternative dazu ist, dass das Modul im gleichen Ordner wie die Datei liegt, in der das Modul eingebunden wird. Dazu ist wichtig zu wissen, dass lokale Module immer Vorrang haben, falls gleichnamige Module sowohl lokal als auch in den Pfaden, die in sys.path enthalten sind.
2. Besonderheit der __init__.py
Damit eine Pythondatei als Modul eingebunden werden kann, muss in dem Verzeichnis eine Datei namens __init__.py liegen. Dies ist nötig, damit Python erkennt, dass das betreffende Verzeichnis ein Modul enthält. Diese Datei kann entweder Code enthalten oder leer sein.
from example_module import example_module as ex_module
ex_module.example_function()
Hier importieren wir das Modul example_module und rufen daraus die Funktion example_function auf.
Zusammenfassung zur Modulerstellung
Im vorliegenden Modul haben wir gelernt, wie man ein Modul erstellt und in ein anderes Programm einbindet. Wir haben damit die Möglichkeit geschaffen, unseren Code noch effektiver zu strukturieren und häufig verwendete Codebestandteile auch wiederzuverwenden.
Wir hoffen, du hattest Spaß und wir sehen uns in der nächsten Lektion wieder.