1
函數返回list
,其中包含float
值。如果我繪製這個列表,我看到一些float
值等於-1.#IND
。我還檢查了這些-1.#IND
值的類型。他們也是float
類型。 但是我怎樣才能理解這個-1.#IND
值?他們代表什麼或代表什麼?浮點值等於-1。#IND
函數返回list
,其中包含float
值。如果我繪製這個列表,我看到一些float
值等於-1.#IND
。我還檢查了這些-1.#IND
值的類型。他們也是float
類型。 但是我怎樣才能理解這個-1.#IND
值?他們代表什麼或代表什麼?浮點值等於-1。#IND
-1.#IND
意味着不確定,一個浮點方程的結果,沒有解決方案。在其他平臺上,您將獲得NaN
,這意味着「不是數字」,-1.#IND
特定於Windows。在Linux上的Python 2.5上,我得到:
>>> 1e300 * 1e300 * 0
-nan
在Windows平臺上,您只能在python版本2.5及之前的版本中找到它。 float()
代碼在python 2.6中得到了改進,並一貫使用float('nan')
獲得這樣的結果;主要是因爲沒有辦法把1.#INF
和-1.#IND
回再次實際float()
實例:
>>> repr(inf)
'1.#INF'
>>> float(_)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): 1.#INF
>>> repr(nan)
'-1.#IND'
>>> float(_)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): -1.#IND
在2.6及更高版本這已全部清理並取得一致:
>>> 1e300 * 1e300 * 0
nan
>>> 1e300 * 1e300
inf
>>> 1e300 * 1e300 * -1
-inf