来自编程语言语用学,由Scott
对象生命周期通常对应于三个主体之一 存储分配机制,用于管理对象的空间:
静态对象被赋予一个绝对地址,该地址在整个程序的执行过程中保留。
堆栈对象以后进先出顺序分配和释放,通常与子程序调用和返回一起使用。
- 可以在任意时间分配和释放堆对象。它们需要更通用(且昂贵)的存储管理 算法
醇>
C编程语言包含静态对象,堆栈对象和堆对象。
Python是否具有静态对象,堆栈对象和堆对象?
我看到in another post CPython在堆上分配所有对象。这是否意味着Python中的所有对象都是堆对象?
但Python也有静态方法。 PLP书中的Python静态对象中是静态方法吗?
感谢。
答案 0 :(得分:2)
Python对象主要是堆对象 - 但是, CPython 中有一些特殊的PyObject单例值在C中是 static ;虽然这是一个实现细节。例如,通常的内置类型具有静态存储持续时间。我不知道堆栈(Python)对象。
静态存储持续时间,如此处所理解,与静态方法完全无关。