专栏首页python3学习日志-python基础01,浅谈p

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

is 与 == 的根本区别

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

可变对象

>>> [] is []
False
>>> [] == []
True

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

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

>>> a = []
>>> b = []
>>> id(a)
62420192
>>> id(b)
59758512

不可变对象

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

>>> () == ()
True
>>> () is ()
True

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

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

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

原因是它们id值一样

>>> a = 1
>>> b = 1
>>> id(1)
491022464
>>> id(a)
491022464

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python3学习(2)

    变量特性 变量可以重新赋值,变量保存的是值的引用,即值在内存中的地址,当变量被重新赋值后变量指向的地址就会变;会指向一个新的对象;

    py3study
  • python等值和大小比较

    在python中,只要两个对象的类型相同,且它们是内置类型(字典除外),那么这两个对象就能进行比较。关键词:内置类型、同类型。所以,两个对象如果类型不同,就没法...

    py3study
  • 学习Python,is和==的本质区别你

    在Python中,is和==都是用来对两个对象进行比较判断的,但两者却有本质的区别。

    py3study
  • Python的 is 和 == ,你真的搞定对象了吗?

    is 和 == 都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。下面来看看具体区别在哪?

    一墨编程学习
  • 举例子让你明白python中is和==的区别

    在说 is 和 == 的区别之前,我们先理解下python的变量。python的变量和java的变量有很大的区别,因为一个是动态语言,另一个是静态语言。

    sergiojune
  • Python的is None vs ==None

    想要弄清楚is None和==None的区别,首先要清楚==和is的区别。==和is的区别如下:

    Tyan
  • Python对象的比较:is和==

    这两个符号在Python的比较判断中应用广泛,但是这两者是有区别的,体现的是对象中的相等和标识符的概念。==符号比较的是两个对象是否相等,而is符号表达的则是标...

    哒呵呵
  • 必须要了解的Python关键词

    每种编程语言都会有一些特殊的单词,称为关键词。对待关键词的基本要求是,你在命名的时候要避免与之重复。本文将介绍一下Python中的关键词。关键词不是内置函数或者...

    老齐
  • 学习Python,is和==的本质区别你

    在Python中,is和==都是用来对两个对象进行比较判断的,但两者却有本质的区别。

    py3study
  • 纸上谈兵: 队列 (queue)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 队列(queue)是一个简单而常见的数据结...

    Vamei

扫码关注云+社区

领取腾讯云代金券