python类实例作为同一类的属性(常量)

python类实例作为同一类的属性(常量),python,Python,我正在编写一个程序包来处理二叉树,我希望一棵空树是一棵真正的树,即。e、 ,它不能是“无”。我的简化代码如下所示: class BT: EMPTY = "" ## place holder def __init__(self, data): self.left = self.right = BT.EMPTY self.data = data def isempty(self): return s

我正在编写一个程序包来处理二叉树,我希望一棵空树是一棵真正的树,即。e、 ,它不能是“无”。我的简化代码如下所示:

class BT: EMPTY = "" ## place holder def __init__(self, data): self.left = self.right = BT.EMPTY self.data = data def isempty(self): return self is BT.EMPTY ... BT.EMPTY = BT("anything") BT类: 空=“##占位符” 定义初始化(自身,数据): self.left=self.right=BT.EMPTY self.data=数据 定义为空(self): 返回自我为BT.EMPTY ... BT.EMPTY=BT(“任何东西”)
然而,我想知道是否还有更优雅的pythonic解决方案。

这很容易误导,因为
BT.EMPTY.EMPTY
现在是可能的。最好将空树设置为定义了某些属性/属性/集的实例,而不是将其设置为类属性。您能澄清一下空树是什么意思吗?类似于删除后没有数据的树对象?我猜对了吗?BT.EMPTY.EMPTY是不可能的——它是一个类而不是一个实例属性。是的,空树没有数据,但仍然是树的实例。