凡是python的程序员,都看看这个问题。。
- >>> a = 256
- >>> b = 256
- >>> a is b
- True
- >>> a = 257
- >>> b = 257
- >>> a is b
- False
作者: synchalt 发布时间: 2011-05-20
- Python 2.4.3 (#1, Nov 11 2010, 13:30:19)
- [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
- Type "help", "copyright", "credits" or "license" for more information.
- >>> a = 256
- >>> b = 256
- >>> a is b
- False
- >>> a = 257
- >>> b = 257
- >>> a is b
- False
作者: blackjimmy 发布时间: 2011-05-20
这个没问题
python使用的对象缓存机制而已。默认的python在init的时候为创建小数list默认[-5-256],
第一次 a,b都在这个范围,所以他们都引用了缓存中的同一个对象
第二次 a, b分别创建新的int对象,即为不同的对象
你可以使用id函数测试或者查看python源码!
python使用的对象缓存机制而已。默认的python在init的时候为创建小数list默认[-5-256],
第一次 a,b都在这个范围,所以他们都引用了缓存中的同一个对象
第二次 a, b分别创建新的int对象,即为不同的对象
你可以使用id函数测试或者查看python源码!
作者: ccporxy 发布时间: 2011-05-20