@boid: Tupel sind im Grunde wie Listen, nur dass man sie nicht verändern kann. Es gibt einen kleinen Speicherplatzvorteil, weil Tupel, da nicht veränderbar, keinen Platz für spätere `append()`-Operationen "überbelegen", aber das ist hier ziemlich teuer erkauft, weil Du das `append()` ja recht häufig brauchst und es bei Tupeln halt von der Laufzeit echt ungünstig ist.
Auch bei einer `__readHeader()` braucht man keine extra `get`-Methode wenn die das Ergebnis an das Attribut `header` bindet. Wobei die zwei Unterstriche etwas übertrieben sind, wenn nicht gar schlechter Entwurf. Zwei führende Unterstriche sind dazu da, um Namenskollisionen in Unterklassen oder "Mixin"-Klassen zu vermeiden und nicht um so eine Art `private` wie in C++/C#/Java zu erzwingen. `private` ist in Python per Konvention *ein* führender Unterstrich. Das sagt anderen Programmierern, dass ist ein Implementierungsdetail, benutzen auf eigene Gefahr.
Meine Kritiken sind meistens kurz, knapp und technisch. Bitte nicht in den falschen Hals bekommen, ist wirklich nett gemeint und nicht als Angriff. Natürlich kann man nicht alles in der Standardbibliothek kennen, gerade als Einsteiger in die Sprache.
OOP Ansatz zur Trennung von GUI Layout und Funktion
Mal ein völlig ungetesteter Anfang, wie man das mit weniger Klasse(n) und mehr und abstrakteren Funktionen machen kann: http://paste.pocoo.org/show/25093/
Ist vielleicht genauso unverständlich wie dreifach indirekter Indexzugriff in tief verschachtelten Schleifen, aber dafür kompakter.
Ist vielleicht genauso unverständlich wie dreifach indirekter Indexzugriff in tief verschachtelten Schleifen, aber dafür kompakter.
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Daraus solltest du dir eine Signatur machen.BlackJack hat geschrieben:Meine Kritiken sind meistens kurz, knapp und technisch. Bitte nicht in den falschen Hals bekommen, ist wirklich nett gemeint und nicht als Angriff.
Offizielles Python-Tutorial (Deutsche Version)
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Danke, BlackJack. Habe zwar am Wochenende auch schon weiter gemacht und die Vorschläge array und StringIO eingebaut, aber ich werde mir Dein Beispiel nochmal anschauen.
An das umstellen der Klasse hatte ich mich noch nicht gewagt. Das hätte ja quasi fast ein neues Skript bedeutet und dafür tat das alte vorerst genau das was es auf die schnelle erledigen sollte.
Werde mir heute abend dann einmal Deinen Code anschauen.
PS: habe doch schon mal gleich überflogen. unterstützt halt nicht alles was ich implementiert hatte, aber ich sah schon ganz neue sachen wie islice().
An das umstellen der Klasse hatte ich mich noch nicht gewagt. Das hätte ja quasi fast ein neues Skript bedeutet und dafür tat das alte vorerst genau das was es auf die schnelle erledigen sollte.
Werde mir heute abend dann einmal Deinen Code anschauen.
PS: habe doch schon mal gleich überflogen. unterstützt halt nicht alles was ich implementiert hatte, aber ich sah schon ganz neue sachen wie islice().