Python笔记(25)-总结

In [1]: a=1

In [2]: b=1

In [3]: id(a)
Out[3]: 8060008

In [4]: id(b)
Out[4]: 8060008

In [5]: a=1000

In [6]: b=1000

In [7]: id(a)
Out[7]: 19040896

In [8]: id(b)
Out[8]: 19040824

上面的例子可以看到a和b都为1时,他们对应的id是一样的,但是都为1000的时候为什么不一样了呢?这是因为小整数对象池起作用,[-5,257]之间的数字都是小整数对象池。python中为了减少系统资源占用,将常用的数字加入了小整数对象池,只要在这个池中的数字被不同变量使用只占用同一个文件id

In [9]: a="hello"

In [10]: b="hello"

In [11]: id(a)
Out[11]: 19650288

In [12]: id(b)
Out[12]: 19650288

In [13]: a="hello world"

In [14]: b="hello world"

In [15]: id(a)
Out[15]: 19537424

In [16]: id(b)
Out[16]: 19537664

字符串hello和hello world的id不同的原因是由于intern机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值