显示一个对象';python中的属性

显示一个对象';python中的属性,python,oop,list,Python,Oop,List,我想显示一个给定对象的属性,并想知道是否有一个python函数用于它。 例如,如果我有一个来自以下类的对象: class Antibody(): def __init__(self,toSend): self.raw = toSend self.pdbcode = '' self.year = '' 我是否可以得到如下或类似的输出: ['self.raw','self.pdbcode','self.year'] 谢谢试试dir(se

我想显示一个给定对象的属性,并想知道是否有一个python函数用于它。 例如,如果我有一个来自以下类的对象:

class Antibody():

    def __init__(self,toSend):

        self.raw = toSend
        self.pdbcode = ''
        self.year = ''
我是否可以得到如下或类似的输出:

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

谢谢

试试
dir(self)
。它将包括所有属性,而不仅仅是“数据”。

以下方法将打印类实例的
['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()
像这样

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=抗体(0)


map(lambda attr:'self.%s%%(attr),filter(lambda attr:notcallable(getattr(a,attr)),a.。\uu dict\uu))

非常感谢这正是我需要的。谢谢你的充分解释谢谢我投票赞成这也是为了简洁!