我不記得np.zeros(x)
是否會自動將浮點數x
轉換爲int,所以我在IDLE中試過。我第一次得到的是一條警告消息,它涉及我在同一會話中早先運行的腳本,然後警告我「使用非整數而不是整數會在將來導致錯誤」。爲什麼Python給我這個奇怪的可見棄用警告?有什麼東西在這裏學習?
我再次嘗試了一次,並且警告沒有重複,數組按照預期與dtype=float
實例化。
爲什麼會警告說有將錯誤(相對於可能是),並且會是什麼?爲什麼它提到了我今天早些時候運行的腳本中的第一個非空白行,將其嵌入到警告中?
這可能是IDLE如何工作的窗口 - 所以我希望從中學到一些東西。我有read here,我可以壓制警告,但我想先了解它的行爲。
>>>
>>> equator = np.zeros(3.14)
Warning (from warnings module):
File "/Users/xxxxxx/Documents/xxxxxx/CYGNSS/CYGNSS TLE interpolator v00.py", line 2
CYGNSS_BLOB = """1 41884U 16078A 16350.61686218 -.00000033 00000-0 00000+0 0 9996
VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future
>>>
>>> equator = np.zeros(3.14)
>>> equator
array([ 0., 0., 0.])
>>>
IDLE Shell僅包裝Python,與numpy或scipy包的警告無關。如果您直接使用Python運行相同的代碼,或者在任何不抑制警告的IDE中運行相同的代碼,您應該會看到相同的消息,可能是格式稍有不同。 –
陣列應該在您第一次跑線時實例化。警告不應阻止執行。 –
我現在看到你問了關於行參考的第二個子問題。這可能是一個IDLE特定的錯誤。你正在運行什麼特定的2.7.z錯誤修復版本? –