我想在python中讀取一個樹結構文件。 我創建了一個類來容納樹對象。其中一個成員 應該包含父對象。 由於parentObject成員與類本身的類型相同,因此我需要將其聲明爲類型爲「self」的空變量。在python中聲明空類成員
如何在python中做到這一點?
非常感謝您的幫助。
我想在python中讀取一個樹結構文件。 我創建了一個類來容納樹對象。其中一個成員 應該包含父對象。 由於parentObject成員與類本身的類型相同,因此我需要將其聲明爲類型爲「self」的空變量。在python中聲明空類成員
如何在python中做到這一點?
非常感謝您的幫助。
在Python中,您不要將變量聲明爲具有任何類型。你只是分配給他們。如果您想這樣做,可以連續爲單個變量分配不同類型的對象。 「self」不是類型,而是用於引用當前對象的命名約定,如Java/C++中的「this」(除了Python,您可以稱之爲任何你想要的)。
我假設對於根節點,你想要這樣一個對象。它更符合Python說:
self.parent = None
在你的根對象
,比創建self.__class__
類型的空對象。對於樹中的每個其他節點對象,self.parent
應引用實際的父節點。
請記住,在Python中,您沒有「變量」,您有對象,並且不需要self.parent
在類的所有實例中具有相同類型。
由於parentObject構件是 相同類型類本身,我 需要聲明將此作爲類型「自」的空 變量。
不,你不需要在Python中聲明任何東西。你只需定義一些東西。
自身不是一種類型,而是實例方法的第一個參數的常規名稱,它由語言設置爲方法的對象。
下面是一個例子:
class Tree(object):
def __init__(self, label=None):
self.label = label
self.parent = None
self.children = []
def append(self, node):
self.children.append(node)
node.parent = self
這裏是如何能夠用於:
empty_tree = Tree()
simple_tree = Tree()
simple_tree.append(Tree('hello'))
simple_tree.append(Tree('world'))