отображать атрибуты объекта в python

Я хотел бы отображать атрибуты объекта-объекта и задавался вопросом, была ли для него функция python. Например, если у меня был объект из следующего класса:

class Antibody(): def __init__(self,toSend): self.raw = toSend self.pdbcode = '' self.year = '' 

Могу ли я получить результат, который выглядит примерно так или что-то подобное:

 ['self.raw','self.pdbcode','self.year'] 

благодаря

Следующий метод печатает ['self.pdbcode', 'self.raw', 'self.year'] для экземпляра вашего класса:

 class Antibody(): ... def get_fields(self): ret = [] for nm in dir(self): if not nm.startswith('__') and not callable(getattr(self, nm)): ret.append('self.' + nm) return ret a = Antibody(0) print a.get_fields() 

Попробуйте dir(self) . Он будет включать все атрибуты, а не только «данные».

Как это

 class Antibody: def __init__(self,toSend): self.raw = toSend self.pdbcode = '' self.year = '' def attributes( self ): return [ 'self.'+name for name in self.__dict__ ] 

a = Antibody(0)

map(lambda attr: 'self.%s'%(attr), filter(lambda attr: not callable(getattr(a, attr)), a.__dict__))