PHP前端开发

Python 类中调用自身时,为什么每次输出的 id 都不相同?

百变鹏仔 5天前 #Python
文章标签 都不

python类的内存分配问题:类调用自身时为什么id不同?

在python类中,当调用自身并返回时,每次输出的id都不同,这与我们的直观理解相悖。

问题所在是Chain('%s/%s'%(self._path, path))这一行代码。它在调用自身时创建了一个新的Chain实例,而不是返回对自身实例的引用。

为了解决这个问题,需要将return Chain('%s/%s'%(self._path, path))修改为return self,这样在调用自身时返回的将是对同一实例的引用,从而导致id相同。

立即学习“Python免费学习笔记(深入)”;