Module sind vorgefertigte Code-Pakete, mit denen wir gewisse Funktionen direkt verwenden können, ohne sie selbst coden zu müssen.

Häufig finden wir im Internet Module, die uns die Arbeit erleichtern. Für Data Scientists ist z.B. scikit-learn ein Modul, welches uns sehr viel Mathematik spart. Wir brauchen dadurch nicht komplizierte mathematische Funktionen in Python-Funktionen umschreiben. Wir geben also einfach nur den Input ein und die Funktionen aus dem Modul erspart uns viel Coding-/Mathe-/Denkarbeit.

Module sind quasi das, was das Programmieren spaßig macht, wenn man die Basics kann. Darüber kann man Datensätze bearbeiten, Graphen erstellen, auf Datenbanken zugreifen und viel mehr.

Module erstellen

Wir können auf Module zugreifen, sie natürlich aber auch erstellen. Dafür erstellen wir eine einfache .py-Datei, welche nur Funktionen enthält, ohne eine davon auszuführen. Wir nennen diese Datei mal DataMinesModul.py :

# DataMinesModul.py
def funktion1():	
		print("Funktion 1")

def funktion2():
	return 41
	
def geschwindigkeit_berechnen(strecke, zeit):
    geschwindigkeit = strecke/zeit
    return geschwindigkeit 

Aus dieser Funktionen-Sammlung können wir alle oder auch einzelne Funktionen auswählen, die wir in unseren Code laden.

Alle Funktionen aus einem Modul laden

Mit import MODULNAME laden wir alle Funktionen aus einem Modul in unseren Code. Es ist gängig, dass import Befehle in den obersten Zeilen im Code stehen. Wenn wir auf die Funktionen zugreifen möchten, müssen wir vor jede Funktion den Modulnamen anhängen und einen Punkt dazwischensetzen (Modulname.Funktion()).

# AndereDatei.py
import DataMinesModul
DataMinesModul.funktion1()
print(DataMinesModul.funktion2() + 1)

### Output:
>>> Funktion 1
>>> 42  

Das unser Modulname DataMinesModul ziemlich lang ist und es sehr anstrengend ist, das bei jeder Funktion vorne anzuhängen, können wir uns das Ganze mit import MODULNAME as ABKÜRZUNG erleichtern:

# AndereDatei.py
import DataMinesModul as dmm
dmm.funktion1()
print(dmm.funktion2() + 1)

### Output:
>>> Funktion 1
>>> 42  

Eine Funktion aus einem Modul laden

Je mehr Funktionen unsere DataMinesModul.py enthält, desto größer wird die Datei. Beim importieren frisst das einiges an Zeit und bei Programmen die möglichst schnell laden sollen, kann das zu Performance-Problemen führen. Daher ist es häufig sinnvoll einzelne Funktionen zu laden. Dafür nutzt man den Befehl from MODULNAME import FUNKTIONSNAME :

from DataMinesModul import geschwindigkeit_berechnen

strecke_in_km = 300
zeit_in_h = 3

speed = geschwindigkeit_berechnen(strecke_in_km, zeit_in_h)
print(f"{speed}km/h")

### Output
>>> 100km/h 

Wenn wir funktion1() oder funktion2() verwenden würden, würden wir eine Fehlermeldung erhalten. Wir können auch funktion1() und geschwindigkeit_berechnen() zusammen importieren, indem wir mehrere Funktionsnamen, mit einem Komma separiert, auflisten (from MODULNAME import FUNKTIONSNAME1, FUNKTIONSNAME2)

from DataMinesModul import geschwindigkeit_berechnen, funktion_1

strecke_in_km = 300
zeit_in_h = 3

speed = geschwindigkeit_berechnen(strecke_in_km, zeit_in_h)
print(f"{speed}km/h")

funktion_1()

### Output
>>> 100km/h
>>> Funktion 1 

Packages

Häufig werden Module und Packages synonym verwendet. Der wahre Unterschied zwischen beiden ist, dass Packages eine Art Dateiordner für Module sind. Wir können also einen Ordner namens „Formelsammlung“ erstellen und darin verschiedene Module einbinden wie z.B. Mathe.py, Physik.py und Chemie.py.

Möchten wir nur einzelne Module aus unserem Package importieren, machen wir das ganze über import PACKAGENAME.MODULNAME :

import formelsammlung.mathe as mathe
print(mathe.quadratwurzel(9))

### Output:
>>> 3 

Externe Module und Packages installieren

Python hat einige vorinstallierte Module und Packages. Andere hingegen wurden von der Python-Community erstellt und müssen vor dem Import installiert werden. Viele Python-Umgebungen bieten uns die Möglichkeit, Packages über das Interface zu installieren. Die allgemeine Lösung ist es, die Module über die Kommandozeile mit pip (dem Installationsassistenten) zu installieren. Für die Python-Versionen unter 2.7.9 bzw. 3.4 ist es notwendig, pip zu installieren – falls deine Version darüber ist, sollte pip schon vorinstalliert sein. 

Python Module in Windows installieren

In Windows geben wir innerhalb der Kommandozeile unseren Pfad zum Python-Ordner an, in dem sich pip.exe befindet. In der Kommandozeile geben wir daraufhin folgendes ein:

cd C:\Python\Scripts # bzw. dein eigener Pfad zum Ordner, in dem pip.exe ist
pip install MODULNAME 

Python Module in macOS installieren

Für Apple-Geräte, die über Mac OS laufen, müssen wir innerhalb der Kommandozeile folgendes eingeben:

pip install MODULNAME 

Python Module in Linux installieren

Für Linux Betriebssysteme nutzt man eher den Standard-Installationsweg anstatt pip. In der Kommandozeile geben wir folgendes ein:

sudo apt-get install MODULNAME 

ARTIKEL TEILEN

Hast du Fragen? Hinterlasse einen Kommentar!