python类初始化

nos*_*nos 2 python initialization class

伙计们,

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

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
Run Code Online (Sandbox Code Playgroud)

谢谢你让我知道.

Ste*_*der 7

不,他们不一样.

在第二个定义,node.left并且node.right不存在.在rightleft属性只在类的初始化实例存在.然而,在第一个定义,你可以访问node.leftnode.right在类直接; 你不必实例化它.