Einführung in das Programmieren mit Python -Programmbibliotheken

Recycle deine selbst geschriebenen Befehle in einem Modul (Programmbibliothek) !

Erstelle eine eigene Programmbibliothek

Programmbibliotheken unterscheiden sich von normalen Programmen lediglich dadurch, dass im Hauptprogramm vor dem Code die zusätzliche Zeile:

if __name__ == "__main__" :

Innerhalb dieses Bereichs kann (eingerückt natürlich) jeder Code stehen, den du zum Austesten deines Programms brauchst. Wird das Modul in ein anderes Programm integriert, wird der Code nach dieser if-Konstruktion einfach ignoriert. Sehr praktisch !!!!

Wir starten einfach mit unserem Miniprogramm sayservus() und ergänzen dann nach und nach. Wir speichern das Ganze jetzt unter dem neuen Namen mymodul1.py ab.

# Demo: mymodul1.py
# Meine erste Programmbibliothek

# Sayservus begrüßt den Benutzer mit Namen
def sayservus(name="unknown"):
print("Servus", name)

# Start of main-program
if __name__ == "__main__" :
sayservus("Max")
sayservus("Moritz")
sayservus("Wilhelm Busch")
sayservus()
sayservus("")

Diese kleine Veränderung testet, ob das Programm nur als Modul aufgerufen wird, oder ob es das Hauptprogramm ist. Wie man sayservus() dann aus einem anderen Programm heraus aufruft, siehst du hier:

# Demo: testprogramm.py
# Dieses Programm benutzt den Befehl sayservus() aus dem Modul mymodul1.py

# Obwohl das Programm sayservus hier gar nicht definiert wurde (sondern
# in der Datei mymodul1.py) kann man es sich trotzdem hier zunutze machen.
from mymodul1 import sayservus

# Start of main-program
freundinnen =[ "Mathilda", "Friederike", "Sandy", "Conny", "Elli" ]
freundinnen.sort()
for name in freundinnen :
sayservus(name)

Ziemlich praktisch, oder etwa nicht ?

mymodule1.py mit weiteren Befehlen ausrüsten

Python verfügt über eine Unzahl von Modulen für die unterschiedlichsten Zwecke.

Lade beide Programme in die Cloud hoch: Verwende als Programmnamen <name>-mymodul1.py und <name>-testprogramm.py. Hier ist der Link zum Hochladen: https://capello.info/christian/informatik/python1/#uploads

Mehr