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

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
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

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
Antworten