Python属性错误

Ran*_*ger 3 python attributes

在python中遇到此错误的问题:

File "F:\dykrstra", line 36, in route
while node.label != node.prevNode.label:
AttributeError: 'NoneType' object has no attribute 'label'
Run Code Online (Sandbox Code Playgroud)

在这个while循环中:

 while node.label != node.prevNode.label:
    node = node.prevNode
    labels.append(node.label)
Run Code Online (Sandbox Code Playgroud)

我认为这与此有关:

   def __init__(self, label):
        self.label = label
        self.neighbours = []
        self.distances = []
        self.prevNode = None
        self.totalDistance = 0
Run Code Online (Sandbox Code Playgroud)

我不确定为什么prevNode不喜欢分配给它的任何东西,请帮忙.

Sve*_*ach 6

您的构造函数设置self.prevNodeNone,稍后您尝试访问node.prevNode.label,这就像尝试访问None.label. None没有任何属性,所以尝试访问任何属性都会给你一个AttributeError.