[英]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'
請幫我在這里。
該節點沒有父節點。 換句話說:這是一個根節點。
因此,有可能daddy
是None
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.