gpt4 book ai didi

python - 为什么 __getattribute__ 失败并返回 : TypeError: 'NoneType' object is not callable

转载 作者:太空宇宙 更新时间:2023-11-04 05:17:19 25 4
gpt4 key购买 nike

这是我在这里的第一个问题,也是我在 Python 中的第一个项目。

我正在尝试存储名为 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

第一个测试只是一个“你好”,但之后我想获得所有属性。

在另一个类中,我正在创 build 备对象并将它们添加到列表中:

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 中存储类实例。

最佳答案

print abcd.__getattribute__('hello')

abcd.__getattribute__ 不是 __getattribute__ 方法。当您尝试计算 abcd.__getattribute__ 时,您实际上是在调用

type(abcd).__getattribute__(abcd, '__getattribute__')

它返回 None,然后您尝试调用它,就好像它是一个方法一样。

关于python - 为什么 __getattribute__ 失败并返回 : TypeError: 'NoneType' object is not callable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41386408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com