美文网首页CodeWorks
Python中is和==的区别

Python中is和==的区别

作者: ByiProX | 来源:发表于2017-09-09 12:44 被阅读0次

要理解Python中is和==的区别,首先要理解Python对象的三个要素:

要素 说明 获取方式
id 身份标识,基本就是内存地址,用来唯一标识一个对象 id(obj)
type 数据类型 type(obj)
value :-----:

is和==区别

标识 名称 判断方法
is 同一性运算符 id
== 比较运算符 value

程序举例

例1:

屏幕截图2.jpg
a = {"a":1, "b":2}
b = a.copy()

a == b  # True value一样
a is b  # False id不一样

例2:

屏幕截图.jpg
>>> x = y = [4,5,6]
>>> z = [4,5,6]
>>> x == y
True
>>> x == z
True
>>> x is y
True
>>> x is z
False
>>>
>>> print id(x)
>>> print id(y)
>>> print id(z)

>>> a = 1 #a和b为数值类型
>>> b = 1
>>> a is b
True
>>> id(a)
>>> id(b)
>>> a = 'cheesezh' #a和b为字符串类型
>>> b = 'cheesezh'
>>> a is b
True
>>> id(a)
>>> id(b)
>>> a = (1,2,3) #a和b为元组类型
>>> b = (1,2,3)
>>> a is b
False
>>> id(a)
>>> id(b)
>>> a = [1,2,3] #a和b为list类型
>>> b = [1,2,3]
>>> a is b
False
>>> id(a)
>>> id(b)
>>> a = {'cheese':1,'zh':2} #a和b为dict类型
>>> b = {'cheese':1,'zh':2}
>>> a is b
False
>>> id(a)
>>> id(b)
>>> a = set([1,2,3])#a和b为set类型
>>> b = set([1,2,3])
>>> a is b
False
>>> id(a)
>>> id(b)

相关文章

  • 逻辑运算符和位运算符

    Python 中 (&,|)和(and,or)之间的区别_Python_Rowlingz-CSDN博客

  • Python 中 is 和 == 的区别

    Python 中的 is 和 == 今天聊一下Python中的 is 和 == 运算符的区别、 is和==都是对对...

  • 算术运算符

    需要注意的是幂:**取整除://"//"和'/'的区别是,在python2中没有区别,在python3中,'/'得...

  • Python中 is 和 == 的区别

    是不是很诧异,a, b都是‘hello’的时候is和==都是True,为什么是‘hello world’的时候就不...

  • Python 中 is 和== 的区别

    初学python的时候,发现python中== 用来比较两个string的值,之前用java的话,比较string...

  • python 中is和= = 的区别

    Python中的对象包含三要素:id、type、value 其中id用来唯一标识一个对象,type标识对象的类型,...

  • Python中is和==的区别

    Python中有很多运算符,今天我们就来讲讲is和==两种运算符在应用上的本质区别是什么。 在讲is和==这两种运...

  • Python中“==”和“is”的区别

    is比较的是内存地址(可以用id()查看内存地址) ==比较值先在shell中输入以下代码:image.png 在...

  • Python中is和==的区别

    要理解Python中is和==的区别,首先要理解Python对象的三个要素: is和==区别 程序举例 例1: 例2:

  • Python中 is 和 == 的区别

    Python中的对象包含三要素:id、type、value。 id 用来唯一标识一个对象,type 标识对象的类型...

网友评论

    本文标题: Python中is和==的区别

    本文链接:https://www.haomeiwen.com/subject/nabojxtx.html