擅长:python、mysql、java
<p>您的溢出几乎可以肯定是一个真正的溢出;其中一个值太大,无法放入Python<code>float</code>(意思是C<code>double</code>)。</p>
<hr/>
<p>那么,为什么每次都会在不同的地方发生呢?</p>
<p>因为你用的是麻木。</p>
<p>Numba JIT编译代码。如果它检测到没有争用,它可以重新排序代码,甚至,至少在理论上,在多个内核上或在GPU上并行运行它(尽管我认为目前只有在用numba.cuda显式编码时,才能获得GPU计算)。</p>
<p>无论如何,这意味着通过代码的路径是不确定的。如果有多个地方可能发生溢出,则无法预测哪个地方将失败并触发异常。</p>
<hr/>
<p>无论如何,这并不重要。如果你的计算太多了,你必须修正它。而且每次都有不同的溢出不应该让<em>调试起来困难得多,特别是考虑到<em>通常</em>发生在一个地方,但并不总是这样。</p>