python 关于 “==” 和“is” 的区别

##python 关于 “==” 和“is” 的区别

1.python 中 == 比较的是值,也就是内容 比如

a = 5
b = 5
a==b# True

2.python 中的 is 比较的是 内存地址 ,在python中想要得到一个变量的内存地址通过 id(变量名) 函数即可,id值并不固定,只要你的变量值有过变化,那id也会变化。

id(a) #140706946069456
id(b) #140706946069456
a = 5
b = 5
a is b # True 相当于 id(a)==id(b)
a = 257
b = 257
a is b # False

这是为什么呢,因为在64位的系统中,int型时,-5~256(包括-5 和256)内,两个变量如果赋值相同,都是引用同一个内存地址,超出了这个范围就是 False 了,同时,其他的类型 例如 字典,元祖 ,列表,a 与 b 赋值一样时,返回的是 False。

a = [1,2]
b = [1,2]
a is b #False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值