==和is

python 中的对象包含三要素:id、tpye、value

其中id用来唯一标示的对象,tpye标识对象的类型,value是对象的值

a=b,a==b

 is   判断的是 a 对象是否就是 b对象 ,是通过id来判断;

== 判断的是 a 对象的值是否和 b 对象的值相等,是通过value来判断的。

===================分割线==============================

来看着例子:


总结:

 is   是比较两个引用是否指向了同一个对象(引用比较)

== 是比较两个对象的值是否相等(值得比较)

拓展:

 整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池 避免为整数频繁申请和销毁内存空间。

Python 对小整数的定义是 [-5, 257) 这些整数对象是提前建立好的,不会被垃圾回收。在一个 Python 的程序中,

所有位于这个范围内的整数使用的都是同一个对象.

来看个例子:


同理单个字母也是这样的。

python中有这样一个机制——intern(字符串驻留)机制,

让他只占用一个HelloWorld”所占的内存空间。靠引用计数去维护何时释放。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大、大摩王

你的鼓励是我创装的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值