veröffentlicht am: 11.09.2020 zuletzt aktualisiert am: 01.02.2023
In einfach Worten ist ein Python-Modul nichts anderes als eine Datei, die einen vorgefertigten Python Code beinhaltet. Der Code kann dabei neben Funktionen auch Variablen und alles Weitere enthalten. Das Gute dabei ist, dass wir den Code nutzen können, indem wir ihn in eine andere Datei importieren.Ein Modul beinhaltet im Regelfall immer eine gesamte Funktionalität, die in verschiedenen Dateien mehr als einmal genutzt wird. Anstatt den Code jedes Mal in den verschiedenen Dateien neu schreiben zu müssen, können wir dafür ein Modul erstellen und dieses nach Belieben importieren, wenn wir den Code benötigen. Es gibt verschiedene Art und Weisen, wie wir in Python ein Modul importieren können. In diesem Artikel werden wir diese näher kennenlernen und uns unter anderem mit der Python import-Funktion beschäftigen.
Grundsätzlich wird von uns das Wort „import“ verwendet, um ein Modul in unsere Datei zu importieren. Die Syntax sieht dabei wie folgt aus:
import <modul-name>
Das ist der einfachste Weg, um ein Modul zu importieren. Wir können dabei auch bereits integrierte Module von Python in unsere Datei importieren:
import random zufaelligeZahl = random.random() print(zufaelligeZahl)
Im obigen Code haben wir in der ersten Zeile das random-Modul von Python importiert. Das bedeutet, dass wir Alles aus dem random-Modul in unsere Datei importiert haben und die vorgefertigten Funktionen jetzt nutzen können. In der nächsten Zeile rufen wir die random()-Funktion aus dem Modul auf.
zufaelligeZahl = random.random()
Wir könnten auch jede andere Funktion aus dem Modul nutzen.
Wir erstellen uns zunächst ein eigenes Modul, um einen weiteren Weg des Importierens zu betrachten.
def sagHallo(): print("Hallo Welt") def addiereZahlen(x, y): print("Summe von x und y:", x + y)
Wir benennen das Modul mit dem Namen „beispielModul“. Jetzt können wir dieses wie bereits gelernt in eine andere Datei importieren.
import beispielModul beispielModul.sagHallo()
Wir haben das Modul „beispielModul“ importiert und rufen jetzt die Funktion „sagHallo()“ auf.
Achtung: Das Modul und die Datei, die in die das Modul importiert werden sollen, müssen sich im selben Ordner befinden.
In den obigen Beispielen haben wir immer das vollständige Modul importiert. So konnten wir alle Inhalte nutzen, indem wir den Modulname und einen Punkt verwendet haben. Aber was müssen wir machen, wenn wir nur etwas Spezifisches aus dem Modul benötigen? Zum Beispiel benötigen wir lediglich eine Funktion. Dann können wir das Wort „from“ beim Importieren nutzen. Dies sieht dann wie folgt aus.
from <modul-name> import <modul-teil>
Wir müssen allerdings beachten, dass wir mit dieser Schreibweise lediglich den „modul-teil“ aus dem Modul nutzen können.
from beispielModul import sagHallo sagHallo()
Ein Vorteil dieser Herangehensweise ist, dass wir nicht bei jeder Verwendung des Importierten den Modulnamen nutzen müssen.
Wir können jetzt versuchen, die addiereZahlen()-Funktion aufzurufen
from beispielModul import sagHallo addiereZahlen(2,5)
Wie erwartet erhalten wir einen Fehler. Diese Meldung erhalten wir, weil wir die Funktion addiereZahlen() nicht importiert haben.
Es existiert allerdings ein weiterer Weg um das Wort „from“ zu verwenden. Dabei können wir dann auch das ganze Modul importieren. Wir können dann alles aus dem Modul nutzen, ohne jeweils den Modulnamen und den Punkt schreiben zu müssen. Dies erreichen wir wie folgt.
from <modul-name> import *
Das Stern-Symbol definiert uns dabei, dass alle Inhalte des Moduls importiert werden.
from beispielModul import * sagHallo() addiereZahlen(2, 5)
Jetzt können wir alle Inhalte aus dem Modul nutzen.
Bis jetzt haben wir kennengelernt, wie wir die Wörter „import“ und „from“ nutzen können, um Module zu importieren. Allerdings existieren auch Pakete.
Ein Paket ist ein Ordner, der mehrere Python-Dateien und Module beinhaltet. Wir können die Module nicht einfach an jeder Stelle speichern. In der Realität werden die Module so platziert, dass sie vom Programmierer einfach gefunden werden können. Wollen wir aus Paketen importieren müssen wir entsprechend anders vorgehen.
Das Modul „beispielModul“ wird nun in ein Paket mit dem Namen „paket“ gespeichert. Versuchen wir zunächst, wie zuvor gelernt, das Modul zu importieren.
Wie erwartet, erhalten wir einen Fehler.
Um unser Modul aus dem Paket zu importieren, müssen wir folgende Schreibweise verwenden:
import <paket-name>.<modul-name>
Dieser Ansatz ist vollkommen in Ordnung, aber ein bisschen länger.
import paket.beispielModul paket.beispielModul.sagHallo()
Wir können die Schreibweise wie folgt verkürzen.
from paket import beispielModul beispielModul.sagHallo() beispielModul.addiereZahlen(2,5)
Diese Schreibweise ist weniger komplex.
Was müssen wir aber machen, wenn wir wieder nur spezifische Inhalte importieren möchten? Dann können wir genauso wie in früheren Beispielen vorgehen. Es ist mit dem Paket genauso möglich. Wenn wir also spezifische Inhalte importieren möchten, gehen wir wie folgt vor.
from <paket-name>.<modul-name> import <modul-inhalt>
Probieren wir es am echten Beispiel.
from paket.beispielModul import sagHallo sagHallo()
Gleichermaßen können wir auch wieder das Stern-Symbol verwenden, um alle Inhalte in die Datei zu importieren.
# from <paket-name>.<modul-name> import * from paket.beispielModul import * sagHallo() addiereZahlen(2,5)
Die Module sind ein wichtiger Bestandteil der Entwicklung in Python. Dabei können wir auf zahlreiche, bereits in Python implementierte, Module zurückgreifen. Außerdem können wir unsere eigenen Module erstellen. Die Module zu importieren ist keine schwierige Sache. Das Wort „import“ wird verwendet, um ganz einfach das gesamte Modul zu importieren. Allerdings können Module riesig sein und zahlreiche Inhalte besitzen, von denen wir lediglich Spezifische benötigen. Außerdem kann es Teil eines ganzen Pakets sein. Für all diese Herausforderungen haben wir Wege kennengelernt, diese zu lösen und für uns nutzen zu können.
😩 Gelangweilt von den Udemy & YouTube-Tutorials?!
Lerne spielerisch Python und komme deiner gutbezahlten (und an der 🌴 liegenden) Traumkarriere einen Schritt weiter.
"Für Leute die gerne Python oder Java lernen wollen ist Codegree klasse. Ist nicht wie bei anderen Konkurrenten auf Videokursen aufgebaut..."
- Lennart Sparbier
100% kostenlos registrieren · keine Kreditkarte notwendig
Im Gegensatz zu der Abendschule oder der alteingesessenen Uni lernst du bei codegree die Sprachen & Pakete, die wirklich im Jobmarkt gesucht werden.
100% kostenlos registrieren · keine Zahlungsdaten notwendig