我浏览了一些cython教程,开始弄乱自己的转换时感到很舒服。我做的第一件事是复制粘贴我的python代码并编译它以确保它正常工作。但是,cython编译的代码给出了不同的(和错误的(输出,即使我没有改变任何东西。
我的理解是cython可以编译python吗?我会链接代码,但与粘贴的大多数代码相比,它相当大。我最大的问题是,当直接复制时,cython没有正确编译哪些类型的python代码?
我找到了解决方案。在python中,我的代码行如下:
TM[adjMut[f]][i] = 1 / len(fitter)
在cython中,我不得不将1声明为1.0:
TM[adjMut[f]][i] = 1.0 / len(fitter)
在数百行代码中,这是唯一的区别。我不确定这是一个错误还是有意的,但它就在那里!