Kontainer Klassen: Attribute vs. dict

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Donnerstag 13. November 2008, 10:30

Man kann ja ganz gut Klassen als eine Art Datenkontainer nutzten. Bisher habe ich object basierte Klassen gemacht, und Attribute für die Daten gesetzt.
Ich denke das ist wohl der verbreitetste Ansatz.

Man kann aber auch von dict erben und statt Attribute das dict erweitern. Der Vorteil dabei, man kann mal eben mir pprint eine gescheite Ausgabe aller Daten machen, gerade wenn man solche "Daten-Klassen" verschachtelt...
Gerade wenn man Fremden "Code" nutzt und nachsehen will, was hier und da so gespeichert ist, kann man bei einem dict Basierenden System sehr einfach nachschauen. Bei einem normalen Attribut basierten System muß man erst "umständlich" mit einer Schleife und getattr nachsehen.

Wie macht ihr das? Vor- und Nachteile der beiden Varianten?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
lunar

Donnerstag 13. November 2008, 10:46

Was spricht gegen "pprint(vars(obj))" bzw. "pprint(obj.__dict__)"?
Antworten