Es gibt Leute, die einen Quellcode mit Sternchenimporten nicht lesen. Einfach deshalb, weil es ein ständiges Hin- und Hergehüpfe ist. Nur um herauszufinden, woher den dieser oder jener Befehl kommt. Ich gehöre auch dazu.Brafil hat geschrieben:1. Die sternchenimporte hab ich absichtlich gemacht, und dafür gesorgt dass nix kollidiert.
Wenn man "global" vermeiden kann, dann sollte man es vermeiden. Das funktioniert meist mit einer Umstellung des Programmes. Das möchte ich dir aber nicht unterschlagen: Es gibt auch Fälle (sehr sehr wenige), in denen ein "global" im Code den Code nicht verkompliziert.Brafil hat geschrieben:3. Global ist auch extra, weil ein einziges dict verwendet wird.
Ich habe mir deinen Code nicht angesehen. Deshalb kann ich dir jetzt keine Alternative vorschlagen. Aber meist genügt es, wenn man an Funktionen alles übergibt, was diese zum Arbeiten brauchen. Alles, wirklich alles! Und beim "return" liefert man alles wieder zurück, was außerhalb dieser Funktion gebraucht wird. Eine Funktion sollte (wenn möglich) niemals ein externes Objekt ändern, sondern immer nur die geänderten Objekte mit "return" zurück liefern. Das ist eine Sache der Programmplanung. Aber wie ich schon schrieb: "Ich habe mir deinen Code nicht angesehen." Deshalb kann ich jetzt keinen detaillierteren Vorschlag machen.
Ein Name sollte dem Programmierer wissen lassen, mit was man es zu tun hat. "mylist" für ein Dictionary ist keine gute Idee und sollte geändert werden. Auch wenn man Stunden dafür braucht. Viel besser als "mylist" oder "mydict" wäre ein Name der aussagt, was mit dem Namen verknüpft ist. Als Beispiel: Wenn es Adressen sind, dann wäre z.B. "addresses" angebracht. Ob Dictionary oder Liste ist dann auch egal. Eine gute IDE wie z.B. WingIDE zeigt dir sowiso an, ob es eine Liste oder ein Dictionary ist. Und auch die Attribute...Brafil hat geschrieben:4. mylist habe ich ganz am anfang geschrieben, deshalb sollte es so bleiben
``my_file = file("filename.dat", "wb")``Brafil hat geschrieben:5. Wie speichert man im Binärmodus?
Besser als "mydict" aber noch nicht optimal. Aber das kommt mit der Zeit.Brafil hat geschrieben:PS: mylist ist jetzt mydict
mfg
Gerold