python 3 iterate object public fields code example

Example 1: python iterate over object fields

>>> dir(obj)
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'bar', 'foo', 'func']

>>> [a for a in dir(obj) if not a.startswith('__')]
['bar', 'foo', 'func']

Example 2: iterate through attributes of class python

L = [[getattr(self, attr), attr] for attr in dir(self) if not attr.startswith("__")]