Class Attributes

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.
Florian R.

Class Attributes

Beitragvon Florian R. » Dienstag 18. Mai 2004, 13:10

Moinmoin zusammen,

Mein Problem:
Ich habe einen eigenen Typ (contact) erstellt und in eine Klasse gepackt. Jetzt möchte ich alle Attribute des Typs rausfinden (in einer Testdatei die auf die Klasse zugreift). Wie geht das? x.__dict__() geht irgendwie nicht.

Und das 2. Problem:
Wenn ich dann eine Liste der Attribute habe würde ich gerne darin suchen lassen. Also so:

Code: Alles auswählen

for attribut in attribut_list:
    if object.attribut == search_string:...


Da bekomm ich aber nur den Fehler, dass mein "object" kein Attribut "attribut" hat. Wie kann dem Programm klar machen, dass er attribut mit dem jeweiligen Wert aus einer Liste ersetzen soll?

Vielen Dank schonmal.

Gruß, Florian
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Dienstag 18. Mai 2004, 13:39

Hi Florian,

die Attribute eines Objekts bekommst Du mit der eingebauten Funktion dir() mit Strings als Attributnamen kannst Du mittels getattr() zugreiffen.

Code: Alles auswählen

for attrname in dir(my_object):
    attribut = getattr(my_object, attriubt)
    if str(attribut) == search_string:
        ...


Gruß

Dookie

Wer ist online?

Mitglieder in diesem Forum: Google [Bot]