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 Roboter in der Datei roboter.py abgespeicht ist, dann kann dieses Modul als Baustein weiter genutzt werden, z. B. so:

from roboter import Roboter
# Erzeugung des Roboters
rob = Roboter()
# Testlauf
print(rob.x, rob.y, rob.r)
rob.schritt()
rob.schritt()
rob.links()
rob.schritt()
rob.schritt()
print(rob.x, rob.y, rob.r)    

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

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

from roboter import *
# Erzeugung des Roboters
rob = Roboter()
# Testlauf
print(rob.x, rob.y, rob.r)
rob.schritt()
rob.schritt()
rob.links()
rob.schritt()
rob.schritt()
print(rob.x, rob.y, rob.r)

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

import roboter
# Erzeugung des Roboters
rob = roboter.Roboter()
# Testlauf
print(rob.x, rob.y, rob.r)
rob.schritt()
rob.schritt()
rob.links()
rob.schritt()
rob.schritt()
print(rob.x, rob.y, rob.r)
X

Fehler melden

X

Suche