Seite 1 von 1

Kontainer Klassen: Attribute vs. dict

Verfasst: Donnerstag 13. November 2008, 10:30
von jens
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?

Re: Kontainer Klassen: Attribute vs. dict

Verfasst: Donnerstag 13. November 2008, 10:46
von lunar
Was spricht gegen "pprint(vars(obj))" bzw. "pprint(obj.__dict__)"?