python中一切皆是对象,对象都是在堆上存放的,一切都是指针

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中一切皆是对象,对象都是在堆上存放的,一切都是指针相关的知识,希望对你有一定的参考价值。

1 由于对象都是在堆上存放的,所以,返回值可以任意返回。

 

这样看来,闭包里面的外部函数的内部变量也是对象,所以,当返回的内部函数被调用时,这个外部函数的变量就没有被释放。

 

这样看来,返回时,不需要考虑是不是局部变量了,直接返回就可以了。

 

2 一切都是指针的例子

技术分享

 

这里5也是一个指针、a是一个指针,它们指向的是同一个地址。

由于一切都是指针,因此函数内部的局部变量的地址是可以返回的,它是不会被自动释放的。

3 id函数可以返回变量的地址

 

以上是关于python中一切皆是对象,对象都是在堆上存放的,一切都是指针的主要内容,如果未能解决你的问题,请参考以下文章

Python一切皆是对象,但这和内存管理有什么关系?

java array

Python内部机制-PyObject对象

内存分配

gj2 python中一切皆对象

第二章 - 一切都是对象