首页 > 解决方案 > 对象内存管理 Python 与 Java

问题描述

有人可以解释一下 Python 在类中创建对象期间管理内存管理的方式吗?

例如,在 java 中,我们只能声明成员变量,而初始化部分发生在构造函数中。这意味着构造对象时使用的内存。

但是在 python 中,我们可以在init方法之外初始化一个类变量。这些数据存储在哪里?

标签: javapythonclassobjectmemory

解决方案


作为一个前兆,这个问题已经在这里得到了解答,这也可能是一个很好的参考。但是,我将尝试再次解释它。Python 中的 init 方法是为常规使用而设计的,尽管它是一种特殊方法,因为它保留在方法的开头,但它不是必需的。Python 中的内存管理涉及一个包含所有 Python 对象和数据结构的私有堆。如果您要在 init 方法声明之外初始化一个类变量,它将与那些在 init 方法中初始化的变量一起简单地存储在堆中。希望这可以帮助!


推荐阅读