Python身份運算子:is、is not
阿新 • • 發佈:2020-12-29
Python身份運算子:is、is not
運算子 | 示例 |
---|---|
is | x is y ,類似id(x) == id(y),相同物件(相同記憶體地址),返回True,否則返回False |
is not | x 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