7.20 python中 id()、is、==

1.问题由来

        在学习python各个数据类型的内存地址时,发现内存地址的存储比想象中的要复杂一点,IDE的缓存有时也会让人摸不到头脑,于是大家就总结了一下 id()、is、== 这三个的具体含义。

2.方案       

        1.先查查各自定义        

        2.再去实践验证是否属实

        3.汇总结果

3.过程

        1.id()函数

         id(object)返回对象的“标识值”。该值是一个整数,在此对象的生命周期中保证是唯一且恒定的。两个生命期不重叠的对象可能具有相同的id() 值(如下图情况)

        Python 实现细节: 这是对象在内存中的地址。

        (python官网内置函数中的解释)

内存地址采用十六进制,IDE为了方便人们使用,将十六进制的内存地址替换成了十进制的整数。

        2.is运算符

        运算符 is 和is not 用于检测对象的标识号:当且仅当 x 和 y 是同一对象时 x is y 为真。 一个对象的标识号可使用 id() 函数来确定。x is not y 会产生相反的逻辑值。

        由于id(a) 和 id(b) 是两个不同的函数,is判断的是id(a)的标识值和id(b)的标识值不是a的标识值和b的标识值,因此,第二个会输入 False。

        3.== 等于

        == 运算符判断两个运算对象的值是否相同。

        这里 == 判断的是 id(a)的值 和 id(b)的值 是否相同。

4.总结

        

a bid(a)id(b)

1

 1140........12140........12
is

print(a is b)

True

print(id(a)is id(b))

False

==

print(a == b)

True

print(id(a)== id(b))

True

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值