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

2024-04-26 00:14:46 发布

您现在位置:Python中文网/ 问答频道 /正文

很简单,我想把一个类作为参数传递给一个函数,而我使用的类有几个方法。下面是类:(parent也是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'

请帮帮我。你知道吗


Tags: 方法函数selfnodereturndefparentstate
2条回答

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

因此daddy可能是None,这意味着daddy.getFoods()不起作用。你知道吗

您应该更正代码:

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

相关问题 更多 >