1. 程式人生 > 其它 >Python身份運算子:is、is not

Python身份運算子:is、is not

技術標籤:Pythonpython

Python身份運算子:is、is not

運算子示例
isx is y ,類似id(x) == id(y),相同物件(相同記憶體地址),返回True,否則返回False
is notx is not y,類似id(x) != id(y),不同物件(不同記憶體地址),返回True,否則返回False
  • id():獲取記憶體地址
a=3
b=3

if a is b:
    print('a和b是同一個物件(a和b記憶體地址相同)')
else:
    print('a和b不是同一個物件(a和b記憶體地址不同)')

c=5
if a is not c:
print('a和c不是同一個物件(a和b記憶體地址不同)') else: print('a和c是同一個物件(a和b記憶體地址相同)') # 結果: # a和b是同一個物件(a和b記憶體地址相同) # a和c不是同一個物件(a和b記憶體地址不同)

is 與 == 的區別:

  • is:判斷記憶體地址
  • ==:判斷變數的值
a=[1,2,3]
b=a#這裡b和a指向同一個記憶體地址
print(a is b)#True
print(a == b)#True

c=a[:]#這裡c產生新的記憶體空間
print(a is c)#False
print(a == c)#True