Seite 1 von 1
alle Member einer Klasse ermitteln
Verfasst: Montag 12. November 2007, 10:15
von wivaxing
Hi,
gibt es ggf. irgendwas um auf einem Klassenobjekt durch alle Felder und Member zu iterieren? Oder sonstwie rauszufinden, was zur Laufzeit alles in der Klasse drinsteckt?
Verfasst: Montag 12. November 2007, 10:40
von Rebecca
Die dir-Methode duerfte das sein, was du suchst:
Code: Alles auswählen
>>> class Foo:
... def hallo(self): pass
...
>>> dir(Foo)
['__doc__', '__module__', 'hallo']
Verfasst: Montag 12. November 2007, 11:56
von BlackJack
Oder `inspect.getmembers()`:
Code: Alles auswählen
In [46]: class Foo(object):
....: def hello(self):
....: pass
....:
In [47]: inspect.getmembers(Foo)
Out[47]:
[('__class__', <type 'type'>),
('__delattr__', <slot wrapper '__delattr__' of 'object' objects>),
('__dict__', <dictproxy object at 0xb79847ac>),
('__doc__', None),
('__getattribute__', <slot wrapper '__getattribute__' of 'object' objects>),
('__hash__', <slot wrapper '__hash__' of 'object' objects>),
('__init__', <slot wrapper '__init__' of 'object' objects>),
('__module__', '__main__'),
('__new__', <built-in method __new__ of type object at 0x8149d00>),
('__reduce__', <method '__reduce__' of 'object' objects>),
('__reduce_ex__', <method '__reduce_ex__' of 'object' objects>),
('__repr__', <slot wrapper '__repr__' of 'object' objects>),
('__setattr__', <slot wrapper '__setattr__' of 'object' objects>),
('__str__', <slot wrapper '__str__' of 'object' objects>),
('__weakref__', <attribute '__weakref__' of 'Foo' objects>),
('hello', <unbound method Foo.hello>)]
Verfasst: Montag 12. November 2007, 12:23
von wivaxing
Vielen Dank!