python类初始化

时间:2012-02-26 06:43:43

标签: python class initialization

民间,

我想知道节点类的以下两个定义是否相同?

class node:
    left = None
    right= None
    def __init__(self, data):
        self.data = data


class node:
    def __init__(self, data):
        self.data = data
        self.left = None
        self.right= None

谢谢你让我知道。

1 个答案:

答案 0 :(得分:7)

不,他们不一样。

在第二个定义中,node.leftnode.right不存在。 rightleft属性仅存在于类的初始化实例上。但是,在第一个定义中,您可以直接在该类上访问node.leftnode.right;你不必实例化它。