我不记得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错误修复版本? –