2009-12-17 87 views
4

我想在python中讀取一個樹結構文件。 我創建了一個類來容納樹對象。其中一個成員 應該包含父對象。 由於parentObject成員與類本身的類型相同,因此我需要將其聲明爲類型爲「self」的空變量。在python中聲明空類成員

如何在python中做到這一點?

非常感謝您的幫助。

回答

6

在Python中,您不要將變量聲明爲具有任何類型。你只是分配給他們。如果您想這樣做,可以連續爲單個變量分配不同類型的對象。 「self」不是類型,而是用於引用當前對象的命名約定,如Java/C++中的「this」(除了Python,您可以稱之爲任何你想要的)。

4

我假設對於根節點,你想要這樣一個對象。它更符合Python說:

self.parent = None 
在你的根對象

,比創建self.__class__類型的空對象。對於樹中的每個其他節點對象,self.parent應引用實際的父節點。

請記住,在Python中,您沒有「變量」,您有對象,並且不需要self.parent在類的所有實例中具有相同類型。

3

由於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'))