我有一个Python类,有一些变量。该类的定义如下:class student:
def __init__(self,name,rollno,DOB,branch):
self.name=name
self.rollno=rollno
self.DOB=DOB
self.branch=branch
self.books=[]
self.fines=[]
我正在为学生添加新的属性,并且需要存储相应的值(以备将来使用)。这是使用setattr方法完成的,工作正常。在
代码段:
^{pr2}$
现在我要解决的问题是,如果用户添加了一个新的属性(例如,“date_of_njoin”),那么我会更新一个列表(studattr),最初包含[“name”,“rollno”,DOB,“branch”,“books”,“fines”],以更新属性列表。这意味着更新后的列表现在还将附加“date_of_join”。在
现在,如果我想访问学生实例的属性列表,那么我该怎么做呢?(由于记录是动态更新的,假设我必须访问x.date_-join,那么如何连接这两个字符串?有什么和python相似的吗os.path.join操作系统,或者更确切地说是linux的系统调用(合并两个字符串)在
问题:for attribute in studattr:
print attribute,x.attribute
{ This throws an Exception since the instance x has no variable or method named "attribute")
我试过用inspect,inspect.getmembers(x) 以及dirs(x)、vars(x),(在stackoverflow中提到过),但它只提供了主类主体中的变量/方法列表,而不是init中。在