>>> a
= 1
>>> b
= 1
>>> a
is b
True
>>> id(a
)
14318944
>>> id(b
)
14318944
>>> a
= 'cheesezh'
>>> b
= 'cheesezh'
>>> a
is b
True
>>> id(a
)
42111872
>>> id(b
)
42111872
>>> a
= (1,2,3)
>>> b
= (1,2,3)
>>> a
is b
False
>>> id(a
)
15001280
>>> id(b
)
14790408
>>> a
= [1,2,3]
>>> b
= [1,2,3]
>>> a
is b
False
>>> id(a
)
42091624
>>> id(b
)
42082016
>>> a
= {'cheese':1,'zh':2}
>>> b
= {'cheese':1,'zh':2}
>>> a
is b
False
>>> id(a
)
42101616
>>> id(b
)
42098736
>>> a
= set([1,2,3])
>>> b
= set([1,2,3])
>>> a
is b
False
>>> id(a
)
14819976
>>> id(b
)
14822256
Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。
is和==都是对对象进行比较判断作用的,但对对象比较判断的内容并不相同。下面来看看具体区别在哪。
==比较操作符和is同一性运算符区别
只有数值型和字符串型的情况下,a is b才为True,当a和b是tuple,list,dict或set型时,a is b为False。