import inspect
class MyClass(object):
s = 'Python Programming'
pi = 3.14
def get_string(self):
return self.s
print(inspect.getmembers(MyClass))
'''
run:
[('__class__', <class 'type'>),
('__delattr__', <slot wrapper '__delattr__' of 'object' objects>),
('__dict__', mappingproxy({'__dict__': <attribute '__dict__' of 'MyClass' objects>,
'__doc__': None, 's': 'Python Programming', 'pi': 3.14, '__weakref__':
<attribute '__weakref__' of 'MyClass' objects>,
'get_string': <function MyClass.get_string at 0x00A1C3D8>,
'__module__': '__main__'})),
('__dir__', <method '__dir__' of 'object' objects>),
('__doc__', None), ('__eq__', <slot wrapper '__eq__' of 'object' objects>),
('__format__', <method '__format__' of 'object' objects>),
('__ge__', <slot wrapper '__ge__' of 'object' objects>),
('__getattribute__', <slot wrapper '__getattribute__' of 'object' objects>),
('__gt__', <slot wrapper '__gt__' of 'object' objects>),
('__hash__', <slot wrapper '__hash__' of 'object' objects>),
('__init__', <slot wrapper '__init__' of 'object' objects>),
('__le__', <slot wrapper '__le__' of 'object' objects>),
('__lt__', <slot wrapper '__lt__' of 'object' objects>),
('__module__', '__main__'), ('__ne__', <slot wrapper '__ne__' of 'object' objects>),
('__new__', <built-in method __new__ of type object at 0x5258BAD0>),
('__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>),
('__sizeof__', <method '__sizeof__' of 'object' objects>),
('__str__', <slot wrapper '__str__' of 'object' objects>),
('__subclasshook__', <built-in method __subclasshook__ of type object at 0x00B28208>),
('__weakref__', <attribute '__weakref__' of 'MyClass' objects>),
('get_string', <function MyClass.get_string at 0x00A1C3D8>),
('pi', 3.14), ('s', 'Python Programming')]
'''