雖然讀了Python的無窮大,我來到這個防空火炮:爲什麼float('Inf')是float('Inf')在Python中返回false?
>>>float('Inf') == float('Inf')
True
>>>float('Inf') is float('Inf')
False
>>>float('Inf') is not float('Inf')
True
據我所知,等於作品,但我想知道什麼float('Inf')
實際上指向的是使is
測試返回False
?每次撥打float('Inf')
都不一樣嗎?
編輯:我不是問關於==
和is
之間的差異。我在詢問關於float('Inf')
的實現細節以及此對象的性質。
可能重複[在Python中\'== \'和\'is \'有區別嗎?](http://stackoverflow.com/questions/132988/is-there-a-difference-between python) – GingerPlusPlus
這是因爲'is'比較了兩個對象的內存地址,而'=='比較了這些對象本身。 ||如上所述,通過'is'進行比較時,實際上會在內存中創建兩個具有相同結構的不同對象。兩個對象具有相同的結構,但它們並不相同,因爲地址不同。認爲它像宇宙。 –
是的,我明白,但是它指向什麼地址? –