返回信息流a = 10000
b = 10000
print a is b
输出是 False, 可以知道a,b是两个不同的对象,每次创建都会申请新的内存
a = 1
b = 1
print a is b
输出是 True,a,b又是相同的对象了。
这是因为在python启动的时候,常用的常数[-5, 256]就建立好,不销毁的对象,也就是a,b都引用相同的>一块内存(存放10000的内存),每次创建这个范围内的整数对象不会申请新的内存。这是个设计上的均衡,用一些内存的浪费,来提高大部分程序>的运行速度。
另:用的是python2.7
可是用Eclipse+pydev运行出来均为ture。
用命令行运行出来是上面所说的,一个ture一个FALSE。
求教Eclipse做了什么优化呀?
另外
a=1.0
b=1.0
print a is b
在命令行里也是false
在Eclipse中是ture。
这是why??
这是一条镜像帖。来源:北邮人论坛 / python / #3642同步于 2014/10/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
[问题]请教一下ture or false?
HB0318
2014/10/12镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复