Rumah > Soal Jawab > teks badan
http://www.cnblogs.com/lolein... 下面是这个文章里面所演示的代码,
>>> a=1
>>> b=1
>>> id(a)
40650152
>>> id(b)
40650152
>>> a=2
>>> id(a)
40650140
我有点费解的就是,按道理a和b完全就不是同一个变量,那么理论上他们无论值是什么,都应该是放在两个不同的内存空间啊,为什么他们相等的时候就放在了同一个内存空间呢?难道是python的运行时环境会自动判断他们的值,如果相同就放到同一个内存空间,为的是节省内存占用吗?
迷茫2017-04-18 10:36:11
Python mempunyai kumpulan integer kecil apabila melaksanakan int. Untuk kecekapan, Python mula-mula mencipta integer ini secara dalaman, dan kemudian menggunakan semula bahagian integer ini untuk mencipta int dengan nilai 1. Malah, ia mengambil 1 terus dari kolam ini.
Secara amnya -5 hingga 257. Dapatkan 1,000, 500 atau sesuatu dan lihat. Itu tidak akan berlaku lagi.
Lihat ini:
Pelaksanaan objek integer Python
黄舟2017-04-18 10:36:11
Kolam malar digunakan untuk pengoptimuman prestasi. Dan ini bukan unik untuk python, banyak bahasa lain menggunakan teknik yang sama.