Python 在==和is之间选择

5 篇文章 0 订阅
2 篇文章 0 订阅

我们经常用的== 其实就是语法糖的一种

==其实比较的是对象中保存的值所以==出现的频率比is高

然后在变量和单例之间比较时(就是不是判断两者值相同的时候)应当使用Is 

is 判断的事两者的内存地址 而且is确实比等等快, 因为is不需要重载

比如 i is None判断某个值是否为None

不为None的时候应选择 i is not None

我们做一项匹配试一下

我有一个列表, list1

现在我工厂函数创建一个与之相同的列表

然后我们先用== 判断一下是否通过

不出意外匹配值成功了.

再试试list2 is list1

果然失败了.

都知道工厂函数创建list是浅拷贝 也就是外层容器list 被换掉了. 我们在看看两者的地址

这确实证实了  is 判断的是地址 而 ==判断的是对象的值

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值