显示一个对象';python中的属性
我想显示一个给定对象的属性,并想知道是否有一个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
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))
非常感谢这正是我需要的。谢谢你的充分解释谢谢我投票赞成这也是为了简洁!