簡體   English   中英

將類作為參數傳遞給函數並使用其方法

[英]Passing a class as argument to a function and use it's methods

很簡單,我想將一個類作為參數傳遞給函數,而我正在使用的類有幾種方法。 這是課程:(父級也是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'

請幫我在這里。

該節點沒有父節點。 換句話說:這是一個根節點。

因此,有可能daddyNone daddy.getFoods() None ,這意味着daddy.getFoods()無法工作。

您應該更正您的代碼:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM