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

该节点没有父节点。换句话说:它是一个根节点。

因此,可能会发生这种情况daddyNone这意味着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 回答