0

非常に単純です。クラスを関数に引数として渡したいのですが、使用しているクラスにはいくつかのメソッドがあります。クラスは次のとおりです:(親もですNode

class Node:
    def __init__(self,parent,foods):
        self.state = state
        self.foods = foods
        self.parent = parent

    def getParent(self):
        return self.parent

    def getFoods(self):
        return self.foods

関数の別の場所で、このクラスを関数に渡していますが、すべての属性を使用できないようです。関数は次のとおりです。

def CalculateSomethingAboutThisNode(node):
     daddy = node.getParent()
     foodsOfDaddy = daddy.getFoods()

しかし、私はこのエラーが発生しています:

line 551, in CalculateSomethingAboutThisNode
   foodsOfDaddy = daddy.getFoods()
AttributeError: 'NoneType' object has no attribute 'getFoods'

ここで私を助けてください。

4

2 に答える 2

3

ノードには親がありません。つまり、ルート ノードです。

そのため、それが起こる可能性がdaddyあり、それは機能しないNoneことを意味しdaddy.getFoods()ます.

于 2013-10-24T15:07:07.640 に答える
1

コードを修正する必要があります。

def CalculateSomethingAboutThisNode(node):
 if not node is None:
  daddy = node.getParent()
  foodsOfDaddy = daddy.getFoods()
于 2013-10-24T15:26:54.233 に答える