python 嵌套类实例_[Python] 实现嵌套类,类中类

今天是大年三十,新年快乐噢!!!

在本篇文章里,试图实现类中类,并使底层类也可以调用上层类的属性。

首先创建用来测试的数据结构:

在该数据结构中,self.data存放着该节点的数据,self.son存放下一级类,self.mself存放上一级类的self(用来调用上一层类的属性),getself方法用于把自己的self给出去。

代码实现1

首先简单的创建三个实例,此时他们没有上下级的连起来:

输出:

现在将这三个实例连起来,具体的连接方法是:n1.son是n2,n2.son是n3:

测试是否可以从n1访问n3的data,再返回访问n1的data:

输出:

上面的方式并没有把一个实例整个搬到或复制进self.son里去,而仅仅是把实例的引用给了self.son。这可以从内存地址看出来:python 嵌套类实例_[Python] 实现嵌套类,类中类_第1张图片他们具有相同的内存地址

代码实现2

方式1或许不够自动化。这里尝试着用一个函数来完成这种事:

测试:

输出:

与方式1不同的是,在给self.son赋值的时候,这里直接给进去类的实例。输出结果也证实了该方法的可行性。

应用

或许可以构建能够双向遍历访问的树,图之类的东西。

如果有其他更简便规范的方法,请务必在评论区题出  谢谢!!

你可能感兴趣的:(python,嵌套类实例)