重溫「is」運算子
Python 等程式語言中的「is」運算子是一個強大的工具,可以比較超出其價值的物體。與常見的誤解相反,「is」不會比較變數的值,而是比較實例本身。要理解這種區別,請考慮提供的範例:
x = [1, 2, 3] y = [1, 2, 3] print(x is y) # False
這裡,「is」運算子傳回 False,表示變數 x 和 y 引用不同的實例,儘管它們具有相同的值。這種差異源自於 Python 中物件標識的概念。
Python 中的每個物件(包括清單)都儲存為具有自己的記憶體位置的唯一實例。 「id()」函數可用於檢索物件的記憶體位址,顯示x 和y 有不同的位址:
print(id(x)) # 123456789 print(id(y)) # 987654321
使用「is」運算子時,它檢查兩個變數是否相同指的是完全相同的實例。在這種情況下,x 和 y 是清單類型的單獨實例,即使它們的內容相同。
要比較值而不是物件標識,應使用「==」相等運算子:
print(x == y) # True
與「is」相反,「==」驗證兩個物件的值是否匹配。
以上是Python 的 `is` 和 `==` 運算子何時會產生不同的結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!