虽然读了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'进行比较时,实际上会在内存中创建两个具有相同结构的不同对象。两个对象具有相同的结构,但它们并不相同,因为地址不同。认为它像宇宙。 –
是的,我明白,但是它指向什么地址? –