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.

from [Modul] import [Name]

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

# Baustein importieren
from ampel import Ampel
# Objekt erzeugen
a = Ampel('rot')
# Objekt in Aktion
print(a.getLampen())
a.schalten()
print(a.getLampen())
while a.getZustand() != 'rot':
    a.schalten()
    print(a.getLampen())

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

from [Modul] import *

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

# Baustein importieren
from ampel import *
# Objekt erzeugen
a = Ampel('rot')
# Objekt in Aktion
...

import [Modul]

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

# Baustein importieren
import ampel
# Objekt erzeugen
a = ampel.Ampel('rot')
# Objekt in Aktion
print(a.getLampen())
a.schalten()
print(a.getLampen())
while a.getZustand() != 'rot':
    a.schalten()
    print(a.getLampen())
X

Fehler melden

X

Suche