On Feb 6, 11:07 pm, Amit Gupta <[EMAIL PROTECTED]> wrote: > Hi > > How do I get user defined attributes of a class? e.g > > Class A(object) : > self.x = 1 > ------------------ > > I want something like: > for userattrib in A.getAllUserAttribute() : > print userattrib >
class Meta(type): def __init__(cls, name, bases, attrs): super(Meta, cls).__init__(name, bases, attrs) cls._attrs = attrs.keys() class Base(object): __metaclass__ = Meta def getmembers(self): return [k for k in self.__dict__ if k not in self._attrs] class MyObj(Base): def __init__(self): self.a = 1 self.b = 2 obj = MyObj() print obj.getmembers() ['a', 'b'] setattr(obj, 'c', 3) print obj.getmembers() ['a', 'c', 'b'] HTH Gerard -- http://mail.python.org/mailman/listinfo/python-list