BICS
Informatik Sek II
Objektorientiertes Programmieren

Python
Bombei / Kokavecz
[ Übersicht | vorige Seite | nächste Seite | Ganz unten ]
Python Didaktische Vorzüge von Python
  • Python ist relativ schnell und leicht erlernbar Beispiel und basiert auf wenigen Konstrukten. Die Quelltexte sind gut lesbar. Beispiel
  • Pythons Syntax zeigt eine gewisse Verwandschaft zur Darstellung von Objekten in UML (Unified Modeling Language)
  • Python zwingt zur (optisch) strukturierten Programmierung, da Blöcke nicht über Klammern oder BEGIN und END, sondern durch Einrücken definiert werden. Beispiel
  • Python kennt "named parameter", die es erlauben, viele Klassen mit default-Parametern zu verwenden, ohne sie explizit aufführen zu müssen Beispiel
  • z.T. mächtige Datentypen incl. der erforderlichen Operationen stehen zur Verfügung (Zahlen, Strings, Tupel, Listen Beispiel , Dictionaries Beispiel )
  • Python verwendet die Tk-Bibliotheken von Ousterhout, die hier eine einfache und syntaktisch saubere objektorientierte Gestaltung grafischer Benutzeroberflächen erlaubt.
  • Pythons Klassenbibliotheken sind übersichtlich, verständlich und gut dokumentiert (HTML-Browser). Ihr Umfang ist erträglich.

Python erlaubt bei der Programmierung die strikte Trennung zwischen Fachkonzept (den Modell-Klassen) Beispiel(PNG) Beispiel(GIF) und der Benutzerschnittstelle (UI-Klassen). Dabei sind in der Regel aber Controller und View so eng verzahnt, dass das MVC - Muster hier kleine Einschränkungen erfährt und in der Regel das vereinfachte "Model - look&feel" - Konzept (Subjekt-Beobachter-Konzept, also ein "M-VC"-Konzept) realisiert wird. Beispiel(PDF) oder Beispiel(GIF)

Didaktische Vorteile, die professionelle Programmierer aber ggf. als nachteilig empfinden dürften:

  • Python kennt keine Zugriffskontrollen (public, private), wodurch aber die Syntax übersichtlicher wird. Da bei Python Klassen bzw. Methoden, deren Namen mit einem Unterstreichungszeichen beginnen, vom IMPORT/EXPORT ausgeschlossen werden, ist das Fehlen der Zugriffskontrollen durchaus akzeptabel.
  • In Python müssen für Variablen die Datentypen nicht explizit deklariert werden. Die Typenzuordnung erfolgt durch die Art der erstmaligen Verwendung. Auch hierdurch entfällt eine Menge an Quelltext, was die Lesbarkeit in gewisser Weise auch verbessern kann, andererseits muss man durch eine vernünftige Anordnung dafür sorgen, dass "Variablenerzeugungen" nicht im Quelltext "verstreut" stattfinden (gilt auch für C und Java). Der Vergleich mit den Variablen in Basic trifft hier nicht recht, denn in der Regel sind die in Python definierten (und gleichzeitig deklarierten) Variablen nur immer innerhalb ihrer Umgebung (z.B. innerhalb einer Methode) gültig und nicht etwa global. Beispiel

[ Übersicht | vorige Seite | nächste Seite | Ganz oben ]

©  Dr. Bernd Kokavecz,  Bearbeitung: K.-D. Bombei, Mai 2002