Exkurs - Modularisierung in Python

Module

Um eine Klassendeklaration zu einem Modul zu machen, muss sie in einer Datei abgespeichert werden. Sie kann dann von anderen Programmen benutzt werden, sofern sie in das entsprechende Skript importiert wird.

Wenn beispielsweise die Deklaration der Klasse Konto in der Datei konto.py abgespeichert ist, dann kann dieses Modul als Baustein weiter genutzt werden, z. B. so:

# Baustein importieren
from konto import Konto
# Objekte erzeugen
k1 = Konto(5)
k1.stand = 1000.0
k2 = Konto(8)
# Objekte in Aktion
while k1.stand > 0.0:
    k1.auszahlen(100.0)
    k2.einzahlen(100.0)
# Ausgabe der Objektzustände
print("Stand von Konto k1:", k1.stand)
print("Stand von Konto k2:", k2.stand)

Mit Hilfe der Importanweisung from konto import Konto wird die Klasse Konto aus der Datei konto.py importiert (genauer: es wird der Name Konto in den aktuellen Namensraum übernommen).

Enthält ein Modul mehrere Deklarationen, so können alle deklarierten Namen mit der Importanweisung from konto import * importiert werden:

# Baustein importieren
from konto import *
# Objekte erzeugen
k1 = Konto(5)
k1.stand = 1000.0
k2 = Konto(8)
# ...

Schließlich ist es möglich, ein Modul mit der Importanweisung import konto zu importieren. In diesem Fall muss man beim Aufruf eines im Modul deklarierten Namens den Modulnamen noch zusätzlich voranstellen.

# Baustein importieren
import konto
# Objekte erzeugen
k1 = konto.Konto(5)
k1.stand = 1000.0
k2 = konto.Konto(8)
# Objekte in Aktion
while k1.stand > 0.0:
    k1.auszahlen(100.0)
    k2.einzahlen(100.0)
# Ausgabe der Objektzustände
print("Stand von Konto k1:", k1.stand)
print("Stand von Konto k2:", k2.stand)
X

Fehler melden

X

Suche