====== Modularisierung ====== Unter Modularisierung versteht man die Aufteilung des Quelltextes in einzelne Teile, sogenannte Module. Diese Module werden in eigenen Dateien gespeichert. Eine sehr große Anzahl von Modulen wird mit Python bereits mitgeliefert und kann in den eigenen Programmen benutzt werden. Sie werden über den Befehl from modulname import * so eingebunden, dass die Funktionen direkt mit ihrem Namen aufgerufen werden können. Das folgende Beispiel stellt den allerersten Anfang eines "Karol"-Programms in Python dar: In der Datei ''RobbiDaten.py'' wird die Klasse "Welt" mit einigen Methoden definiert. class Welt(object): # Konstruktor def __init__(self,laenge=10,breite=10,hoehe=10): self.Laenge = laenge self.Breite = breite self.Hoehe = hoehe # eine zweidimensionale Liste anlegen und mit Nullen füllen self.Ziegel = [] for j in range(laenge): reihe = [] for i in range(breite): reihe.append(0) self.Ziegel.append(reihe) # Anzahl der Ziegel an einer bestimmten Position direkt eingeben def setZiegel(self,x,y,anzahl): self.Ziegel[x][y] = anzahl # Anzahl der Ziegel an einer bestimmten Position um 1 erhöhen def hinlegenZiegel(self,x,y): self.Ziegel[x][y] += 1 In der Datei ''RobbiShell.py'' wird das Datenmodell eingebunden und eine einfache Prozedur zur Ausgabe der Welt in der Shell definiert. from RobbiDaten import * def weltausgeben(welt): print "Länge: ",welt.Laenge print "Breite:",welt.Breite print "Höhe: ",welt.Hoehe for j in range(welt.Laenge-1,-1,-1): for i in range(welt.Breite): print welt.Ziegel[i][j], print Nach dem Start von ''RobbiShell.py'' kann in der Shell auf die Klasse "Welt" zugegriffen werden: >>> w=Welt() >>> w.setZiegel(2,3,4) >>> w.hinlegenZiegel(1,2) >>> weltausgeben(w) Länge: 10 Breite: 10 Höhe: 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0