Python之is 和 的區別

2021-08-23 14:03:03 字數 2594 閱讀 6516

變數:id: 在記憶體中儲存的位置;id(a)

value: ==

type:變數的資料型別; type(a)

==: value, type

is: 三個都判斷

==:只判斷value和type,不判斷id

** a is b ====> true, a==b一定相等, 返回true;

** a==b ====> true, a is b 不一定;

pydev console: starting.

import sys; print('python %s on %s' % (sys.version, sys.platform))

sys.path.extend(['/root/pycharmprojects/day04'])

python 3.6.4 (default, aug  7 2018, 11:03:35)

[gcc 4.8.2 20140120 (red hat 4.8.2-16)] on linux

a = '1'

b = 1

a == b

false

a = '1'

b = a

a is b

true

li = [1,2,3]

li1 = li

li == li1

true

li is li1

true

li2 = li.copy()

id(li)

變數:id: 在記憶體中儲存的位置;id(a)

value: ==

type:變數的資料型別; type(a)

==: value, type

is: 三個都判斷

** a is b ====> true, a==b一定相等, 返回true;

** a==b ====> true, a is b 不一定;

pydev console: starting.

import sys; print('python %s on %s' % (sys.version, sys.platform))

sys.path.extend(['/root/pycharmprojects/day04'])

python 3.6.4 (default, aug  7 2018, 11:03:35)

[gcc 4.8.2 20140120 (red hat 4.8.2-16)] on linux

a = '1'

b = 1

a == b

false

a = '1'

b = a

a is b

true

li = [1,2,3]

li1 = li

li == li1

true

li is li1

true

li2 = li.copy()

id(li)

140479313773128

id(li2)

140479313773704   ##注意此時li2和li的type和value是一樣的,但id不同

li[1, 2, 3]

li2[1, 2, 3]

li == li2

true

li is li2

false

變數:id: 在記憶體中儲存的位置;id(a)

value: ==

type:變數的資料型別; type(a)

==: value, type

is: 三個都判斷

** a is b ====> true, a==b一定相等, 返回true;

** a==b ====> true, a is b 不一定;

Python之is和 的區別

比較的是兩個物件的value值的異同,只要值相同則返回true,並不關心是否是同乙個物件 id是否相同 is則直接比較物件,如果是同乙個物件 即物件的id相同 則返回true id 在記憶體中儲存的位置 type 變數的型別 value 變數的值 比較 type value is比較 type va...

Python之is和 的區別

1 python中物件的三個基本要素,分別是 id 身份標識 type 資料型別 和value 值 2 is和 都是對物件進行比較判斷作用的,但對物件比較判斷的內容並不相同。3 用來比較判斷兩個物件的value 值 是否相等 type和value is也被叫做同一性運算子,會判斷id是否相同 id,...

Python面試之 is 和 的區別

億貝軟體工程 上海 全棧工程師 關注他契卡 在讀笛卡爾的孟德 等 1,210 人贊同了該文章 面試實習生的時候,當問到 is 和 的區別時,很多同學都答不上來,搞不清兩者什麼時候返回一致,什麼時候返回不一致。本文我們來看一下這兩者的區別。我們先來看幾個例子 a hello b hello print...