Python属性错误

Python属性错误,python,attributes,Python,Attributes,python中存在此错误的问题: File "F:\dykrstra", line 36, in route while node.label != node.prevNode.label: AttributeError: 'NoneType' object has no attribute 'label' 在此while循环中: while node.label != node.prevNode.label: node = node.prevNode labels.appe

python中存在此错误的问题:

File "F:\dykrstra", line 36, in route
while node.label != node.prevNode.label:
AttributeError: 'NoneType' object has no attribute 'label'
在此while循环中:

 while node.label != node.prevNode.label:
    node = node.prevNode
    labels.append(node.label)
我认为这与此有关:

   def __init__(self, label):
        self.label = label
        self.neighbours = []
        self.distances = []
        self.prevNode = None
        self.totalDistance = 0

我不知道为什么prevNode不喜欢将nothing分配给它,请帮助。

您的构造函数将
self.prevNode
设置为
None
,然后您尝试访问
node.prevNode.label
,这类似于尝试访问
None.label
None
没有任何属性,因此尝试访问any将根据您正在访问的其他答案(以及错误消息)为您提供一个
AttributeError
。如果预期
节点
可能是
,则需要在附加它之前检查它

while node.label != node.prevNode.label:
    node = node.prevNode
    if node is not None:
        labels.append(node.label)
当对象的属性不可用时会发生异常。是一个主键,后跟句点和名称

因此,基本上需要仔细检查对象和属性名称

例如,要返回该对象的有效属性列表,请使用:


None
指定给
prevNode
完全可以。但是值
None
必须是属性,因此
prevNode.label
将给您一个错误。您可以在控制台中尝试,键入
None.label
dir(node)