前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习日志-python基础01,浅谈p

学习日志-python基础01,浅谈p

作者头像
py3study
发布2020-01-02 17:49:54
2350
发布2020-01-02 17:49:54
举报
文章被收录于专栏:python3python3

is 与 == 的根本区别

==比较操作符:用来比较两个对象是否相等,value做为判断因素 is同一性运算符:比较判断两个对象是否相同,id做为判断因素

可变对象

代码语言:javascript
复制
>>> [] is []
False
>>> [] == []
True

>>> {} is {}
False
>>> {} == {}
True

首先对象类型不同 is 肯定会返回 False其次当对象类型相同 同为可变对象时 ( 即列表,字典 ) ,即使值相等 结果也是False 原因是他们id不相等, 如下

代码语言:javascript
复制
>>> a = []
>>> b = []
>>> id(a)
62420192
>>> id(b)
59758512

不可变对象

那么对象类型相同 同为不可变对象时 ( 即数字,字符串,元组 ),值相等则结果为True

代码语言:javascript
复制
>>> () == ()
True
>>> () is ()
True

>>> "" == ""
True
>>> "" is ""
True

>>> 1 == 1
True
>>> 1 is 1
True

>>> None == None
True
>>> None is None
True

原因是它们id值一样

代码语言:javascript
复制
>>> a = 1
>>> b = 1
>>> id(1)
491022464
>>> id(a)
491022464
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • is 与 == 的根本区别
  • 可变对象
  • 不可变对象
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档