为什么python中值相等的两个变量会是同一个内存地址?

Python实现int的时候有个小整数池。为了效率, Python首先在内心里创建出这些整数,然后复用了这部分整数,创建一个值为1的int,其实直接从这个池里拿出1。

 小整数对象[-5,256]是全局解释器范围内被重复使用,永远不会被GC回收。

 

 

 

 

 

 

在pycharm上运行…Python出于对性能的考虑,但凡是不可变对象,在同一个代码块中的对象,只有是值相同的对象,就不会重复创建,而是直接引用已经存在的对象。

 

posted on 2017-10-26 20:37  邓家富  阅读(7023)  评论(3)    收藏  举报

导航