Hallo DeJe!
Willkommen im Python-Forum!
DeJe hat geschrieben:Ich bin gerade dabei mir ein paar Grundlagen von Python bezubringen.
Das nehme ich dir nicht ab. Du müsstest sehr intelligent und/oder aufnahmefähig sein. Wenn das für dich zutrifft -- Hut ab.
- Ich habe nämlich noch keinen Anfänger gesehen, der gleich am Anfang kapiert, wie ein schönes wxPython-Programm aufgebaut sein soll und nicht sofort auf das hier
http://wxpython.org/codeguidelines.php und auf die vielen IDs in manchen Beispielprogrammen reinfällt.
- Weiters teilst du die Datenstruktur sofort in ein zweites Modul, wodurch eine strikte Trennung zur GUI gewährleistet wird.
- Du verwendest ``if __name__ == '__main__'``, was ich bei Anfängern selten beobachten kann.
- Du importierst diszipliniert und verwendest Konstanten (sogar in Großbuchstaben).
- Weil kein Container benötigt wird, verwendest du sofort wx.Window statt wx.Panel.
- ``self.__class__.count`` --> so etwas müsste man einem OOP-Anfänger erst mal erklären.
- Du verwendest NewStyle-Klassen (object).
- Du verwendest aussagekräftige Objektnamen.
Sagen wir es mal so: Ich glaube, du hast dir die letzten Wochen alles zum Thema Python reingezogen was es zu finden gab.
Und jetzt zur Kritik.
Dein Programm sieht nicht so aus, als ob es ein Anfänger geschrieben hätte. Es gibt, aus meiner Sicht, auch kaum etwas zu bemängeln. Ein paar Punkte hat Leonidas bereits genannt.
DeJe hat geschrieben:sidle-gui.py
Im Namen von Python-Modulen sollte man Bindestriche vermeiden. Das erschwert das Importieren. Da du nur das GUI-Modul so genannt hast, dürfte das in deinem Fall keine Probleme verursachen. "sidlegui.py" fände ich persönlich besser.
Du beginnst den Namen der globalen Konstanten mit einem Unterstrich. Das ist nicht falsch -- nur etwas ungewöhnlich.
``if grid == None`` würde ich durch ``if grid is None`` ersetzen.
-----------
Trotzdem: Ich bin beeindruckt.

Weiter so!
mfg
Gerold
