歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python 中is和= = 的比較

Python 中is和= = 的比較

日期:2017/3/1 9:51:19   编辑:Linux編程

Python中的對象包含三要素:id、type、value

其中id用來唯一標識一個對象,type標識對象的類型,value是對象的值

is判斷的是a對象是否就是b對象,是通過id來判斷的

==判斷的是a對象的值是否和b對象的值相等,是通過value來判斷的

python is主要是判斷2個變量是否引用的是同一個對象,如果是的話,則返回true,否則返回false

>>> a = '123'
>>> b = '123'
>>> a == b
True
>>> a is b
True
>>>

a is b 返回true,因為變量a和b都存儲了字符串'123'對象的地址。

>>> a = '123'
>>> b = '123456'
>>> a == b
False
>>> a is b
False
>>>

print a is c 返回false,因為變量a和c存儲了字符串對象地址不一致。


>>> a = 1
>>> b = 1.0
>>> a is b
False
>>> a == b
True
>>> id(a)
12777000
>>> id(b)
14986000
>>> a = 1
>>> b = 1
>>> a is b
True
>>> a == b
True
>>> id(a)
12777000
>>> id(b)
12777000

Copyright © Linux教程網 All Rights Reserved