当我的类不重写__slots__
时,我可以获得类实例的所有成员的名称和值。例如:
class Animal(object):
#__slots__ = ('legs','name','color','smell','age','kids')
def __init__(self):
self.legs = 2
self.name = 'Dog'
self.color= 'Spotted'
self.smell= 'Alot'
self.age = 10
self.kids = 0
a = Animal()
for x in vars(a).items():
print(x[0],x[1])
输出为
age 10
legs 2
name Dog
kids 0
smell Alot
color Spotted
但是,如果我取消对上面代码中的__slots__ = ...
行的注释并运行它,我将得到一个错误,即vars() argument must have __dict__ attribute
当__slots__
被重写时,我是否可以得到所有成员的名称和值
试试这个:
相关问题 更多 >
编程相关推荐