在python中声明空类成员

时间:2009-12-17 23:09:32

标签: python variables

我正在尝试在python中读取树结构文件。 我创建了一个类来保存树对象。其中一名成员 应该持有父对象。 由于parentObject成员与类本身的类型相同, 我需要将此声明为“self”类型的空变量。

我如何在python中执行此操作?

非常感谢你的帮助。

3 个答案:

答案 0 :(得分:6)

在Python中,您不会将变量声明为具有任何类型。你只需要分配给他们。如果您想这样做,可以连续为单个变量分配不同类型的对象。 “self”不是类型,而是用于引用当前对象的命名约定,如Java / C ++中的“this”(除了在Python中,您可以将其称为任何您想要的)。

答案 1 :(得分:5)

我假设对于根节点,您需要这样的对象。说Pythonic更多:

self.parent = None

在根对象中,而不是创建类型为self.__class__的空对象。对于树中的每个其他节点对象,self.parent应该引用实际的父节点。

请记住,在Python中,您没有'变量',您有对象,并且self.parent在类的所有实例中都不需要具有相同的类型。

答案 2 :(得分:4)

  

因为parentObject成员是   与班级本身相同的类型,我   需要将此声明为空   “自我”类型的变量。

不,你不需要在Python中声明任何东西。你只需定义一些东西。

self不是一个类型,而是实例方法的第一个参数的常规名称,它由语言设置为方法的对象。

以下是一个例子:

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