Python中is、in、==之间的区别

本文详细介绍了Python中的is、in和==关键字的区别。is用于判断对象标识符是否相等,涉及内存地址比较;in用于检测元素是否属于序列,如字符串、列表、字典等;==则判断值是否相等,对于自定义类型可能需要重写相关方法。文章通过示例阐述了这些关键字的具体用法和注意事项。
摘要由CSDN通过智能技术生成

Python 中,对象相等性比较相关关键字包括is、in,比较运算符有 ==

  • is判断两个对象的标识符是否相等
  • in用于成员检测
  • ==用于判断值或内容是否相等,默认是基于两个对象的标识号比较

也就是说,如果 a is b 为 True 且如果按照默认行为,意味着 a==b 也为 True

is 判断标识号是否相等

is是Python身份运算符,用于判断两个对象的标识符是否相等(python中万物皆对象),实质是用于比较两个对象是否指向同一存储单元,以下有几点is的使用方法:

(1) Python 中使用 id() 函数获取对象的标识号,可以理解为内存地址

In [49]: a = 1
In [50]: b = 1
In [51]: id(a)
Out[51]: 140708412432784
In [52]: id(b)
Out[52]: 140708412432784
In [53]: a is b
Out[53]: True

In [54]: s1 = 'abc'
In [55]: s2 = 'abc'
In [56]: id(s1)
Out[56]: 1554773534064
In [57]: id(s2)
Out[57]: 1554773534064
In [58]: s1 is s2
Out[58]: True

(2) 由于创建的两个列表实例位于不同的内存地址,所以它们的标识号不等,即便对于两个空列表实例也一样

In [77]: a = [1,2]
In [78]: b = [1,2]
In [79]: id(a)
Out[79]: 1552668915144
In [80]: id(b)
Out[80]: 1552668915208
In [81]: a is b
Out[81]: False
In [83]: a is not b
Out[<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

雷恩Layne

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值