将类作为参数传递给函数并使用它的方法

时间:2013-10-24 15:03:56

标签: python function class

很简单,我想将一个类作为参数传递给函数,而我正在使用的类有几种方法。这是班级:(父母也是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'

请在这里解雇我。

2 个答案:

答案 0 :(得分:3)

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

因此,daddy None可能会发生daddy.getFoods(),这意味着{{1}}无效。

答案 1 :(得分:1)

你应该更正你的代码:

def CalculateSomethingAboutThisNode(node):
 if not node is None:
  daddy = node.getParent()
  foodsOfDaddy = daddy.getFoods()