这是我的第一个问题,也是我在Python中的第一个项目。为什么__getattribute__失败:TypeError:'NoneType'对象无法调用
我想存储一个名为Ip500Device
类的实例:
class Ip500Device(object):
list = []
def __init__(self, shortMac, mac, status, deviceType):
self.__shortMac =shortMac
self.__mac=mac
self.__status=status
self.__deviceType=deviceType
self.__nbOfObjects=0
Ip500Device.list.append(self)
def __getattribute__(self, att):
if att=='hello':
return 0
这第一个测试只是一个“你好”,但在那之后我想获得的所有属性。
从其他类,我创建的设备对象并将其添加到列表:
self.__ip500DevicesLst.append(Ip500Device.Ip500Device(lst[0],lst[1],lst[2],lst[3]))
for abcd in self.__ip500DevicesLst:
print abcd.__getattribute__('hello')
但是,当我尝试打印,程序返回此消息:
TypeError: 'NoneType' object is not callable
我不太了解如何在Python中存储类实例。
我们必须猜测'__ip500DevicesLst'是什么。 –
该OP非常清楚地指出'__ip500DevicesLst'是一个列表。但是,这与问题无关,这就是为什么调用'__getattribute__'引发错误。 OP已经提供了足够的信息来回答这个问题,所以我认为这个问题应该重新开放。 – ekhumoro
看起来像列表中的一个项目是'None'。不知道这是来自您显示附加到列表的方法调用,还是已经包含“None”。无论哪种方式,请尝试验证列表内容是否符合预期。 – Basic