文、意如
核心概念值比較與物件身份(記憶體位置)比較
== (等於): 比較兩個物件的值是否相等。
is (是): 比較兩個變數是否指向同一個記憶體位址(即判斷它們是否是同一個物件)。
不同結果的產生: 對於可變類型(如 List 或 Dictionary),即使它們的值完全相同,它們通常是存在不同記憶體位址的不同物件,此時 == 為 True,但 is 為 False。範例程式碼:
## 範例一:值相等,但記憶體位置不同 (針對可變類型 List)
a = [1, 2, 3]
b = [1, 2, 3]
c = a # c 複製了 a 的參考 (指向同一個物件)
print(f"a 的值是否等於 b 的值 (==): {a == b}")#True
print(f"a 是否是 b 的同一物件 (is): {a is b}")#False (它們是兩個獨立的 List)
print(f"a 是否是 c 的同一物件 (is): {a is c}")#True (它們指向同一個 List)

Yiru@Studio - 關於我 - 意如