Ein Modul kann als Sammlung von Funktionen bzw. von Objekten und ihren Methoden (vgl. Objektorientierte Programmierung) aufgefasst werden. Diese Funktionen werden in einer Art "Bibliothek" ausgelagert bzw. gebündelt. Module werden mit der import-Anweisung eingebunden. Nach dem Schlüsselwort import können auch mehrere durch Komma getrennte Modulnamen folgen:
import math, random
Will man nicht das ganze Modul einbinden, sondern nur Teile davon, so kann man import func1, func2, ... from modul verwenden.
import sin, cos, tan from math
# Berechnungen mit sin, cos, tan
Man kann ein Modul auch über einen Kurznamen ("Alias") importieren und verwenden.
import math as m
print(m.sqrt(3**2+4**2)) # sqrt für squareroot - deutsch: Quadratwurzel
print(m.degrees(1) # Winkelumrechnung von Radiant auf Grad
print(m.radians(90)) # Winkelumrechnung von Grad auf Radiant
Prinzipiell kann man auch selber eine Sammlung von Funktionen schreiben und diese in einem eigenen Modul zusammenfassen.
# Modul: meine_zylinderfunktionen
# Dateiname: meine_zylinderfunktionen.py
import math
# Parameter: radius, hoehe
def zylinder_volumen(r, h):
return r * r * math.pi * h
# Parameter: radius, hoehe
def zylinder_oberflaeche(r, h):
# Kreisfläche * 2 + Umfang * Höhe
return r * r * math.pi * 2 + 2 * r * math.pi * h
Einbinden dieses selbst entwickelten Moduls:
import meine_zylinder_funktionen as zf
radius = 1.5
hoehe = 1
print(zf.zylinder_volumen(radius, hoehe))
print(zf.zylinder_oberflaeche(radius, hoehe))
Das Modul und das Programm müssen sich im selben Ordner befinden, sonst wird das Modul nicht gefunden.
Die Modularisierung von Programmen ist ein wichtiger Schritt, um große "Probleme" bzw. Aufgaben in mehrere kleinere Teilprobleme zu zerlegen. Diese Teilaufgaben können auch auf mehrere Programmierer bzw. Teams aufgeteilt werden. Wichtig ist dabei natürlich, dass diese Module ausreichend getestet sind, damit man beim "oftmaligen" Verwenden nicht immer und immer wieder den gleichen Fehler importiert!
Ein wichtiges Grundprinzip in der Programmierung lautet: "Divide et impera!", also "Teile und herrsche!".
Schafft man es eine größere Aufgabe in kleinere Teilaufgaben zu zerlegen, so lassen sich diese leichter lösen und insgesamt erreicht man leichter das Ziel, die komplexe umfassende Aufgabe zu lösen, d. h. man hat "gewonnen" und das Problem beherrscht!
Ein großer Vorteil von Python ist, das diese Sprache sehr verbreitet ist und es somit auch eine "riesige" Anzahl von fertigen Modulen für die vielfältigsten Anwendungsfälle gibt. Man kann über den "Python-Package-Manger" bzw. Packageinstaller namens pip relative einfach aus einer großen Anzahl von Modulen auswählen und diese Nachinstallieren.