Du liest:
Python import: Module & Pakete importieren

Python import: Module & Pakete importieren

von Pero
11.09.2020
Die Python import Funktion dient zur Verwendung von externen Modulen und Paketen.

Eine kurze Einführung: Module in Python

In einfach Worten ist ein Python-Modul nichts anderes als eine Datei, die 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.

Die Python import Funktion

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ächste Zeile rufen wir die random()-Funktion aus dem Modul auf.

zufaelligeZahl = random.random()

Wir könnten auch jede andere Funktion aus dem Modul nutzen.

Python import des random-Moduls

Importieren eines manuell erstellten Moduls

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.

Import eines selbst erstellten Moduls

Achtung: Das Modul und die Datei, die in die das Modul importiert werden sollen, müssen sich im selben Ordner befinden.

Python from: Nur einen bestimmten Teil eines Moduls importieren

In den obigen Beispielen haben wir immer das vollständige Modul importiert. So konnten wir alle Inhalte nutzen in dem 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.

Mit Python from nur einen bestimmten Teil eines Python Moduls importieren

Wir können jetzt versuchen, die addiereZahlen()-Funktion aufzurufen

from beispielModul import sagHallo
addiereZahlen(2,5)
Fehlermeldung, da die Funktion nicht im importierten Teil des Pakets enthalten ist.

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.

Alle Inhalte eines Moduls mit der *-Funktion nutzen.

Python import: Aus einem Paket importieren

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, das 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 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.

import beispielModul
beispielModul.sagHallo()
Fehlermeldung, da dass Modul nicht gefunden werden konnte.

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()
Mit Python import ein Modul in einem Paket importieren.

Wir können die Schreibweise wie folgt verkürzen.

from paket import beispielModul
beispielModul.sagHallo()
beispielModul.addiereZahlen(2,5)

Diese Schreibweise ist weniger komplex.

Verkürzte Schreibweise desselben Ergebnisses.

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()
Nur einen bestimmten Teil eines Moduls welches in einem Paket liegt importieren.

Gleichermaßen könne 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)
Python import mit der Sternchen-Funktion um alle Funktionen eines Moduls, welches in einem Paket liegt, zu importieren.

Zusammenfassung

Die Module sind ein wichtiger Bestandteil der Entwicklung in Python. Bei 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.



Bislang gibt es keine Kommentare. Markier dein Revier und sei der Erste!

Schreibe einen Kommentar

Das könnte dich auch interessieren