Wie alle Attribute/Methoden einer Klasse herausbekommen?
Verfasst: Samstag 23. Dezember 2006, 22:15
`print self.__getattribute__("test")` gibt nur das gewünschte Attribut zurück. Ich suche aber eine Funktion die mir alle Methoden und Attribute auflistet. Die zurückgegebenen Attribute/Methoden sollten aber nicht nur als String zurückgegeben werden, sondern als Referenz auf das/die Attribute/Methoden.
Gibt es dafür ein builtin?
beispiel:
Das gibt mir z.B. folgendes zurück:
Das ganze lässt sich dann so aufrufen: `self.__getattribute__("test")()`
Nun würde ich gerne eine Methode wissen die mir alle Attribute/Methoden zurückgibt:
Pseudocode:
Rauskomme soll dann sowas:
Den Sourcecode der Klasse selber zu Parsen ist keine Option wegen Performance und co. Es sollte schon etwas sein das Bestandteil vom Python Core ist Daher, wie weiß Python welche Attribute/Methoden in Klasse `X`drin sind und wie kann ich an diese Informationen ohne Umweg kommen?
lg
Gibt es dafür ein builtin?
beispiel:
Code: Alles auswählen
class AbstractClass(object):
def __init__(self):
print self.__getattribute__("test")
def test(self):
print "test"
Code: Alles auswählen
<bound method AbstractClass.test of <__main__.AbstractClass object at 0x009E7450>>
Nun würde ich gerne eine Methode wissen die mir alle Attribute/Methoden zurückgibt:
Pseudocode:
Code: Alles auswählen
class AbstractClass(object):
def __init__(self):
print self.__get_all_attribute__()
def test(self):
print "test"
def test2(self):
print "test2"
Code: Alles auswählen
[<bound method AbstractClass.test of <__main__.AbstractClass object at 0x009E74B0>>, <bound method AbstractClass.test2 of <__main__.AbstractClass object at 0x009E74B0>>]
lg