Cython正确性

Bri*_*ian 7 python correctness cython

Cython生成的代码总是和它生成的Python代码一样正确吗?

它可以帮助其他读者解决Cython静态类型声明和其他Cython特性(如果有的话)的使用,尽管我只对通过将Python模块重命名为*.pyx来创建Cython文件的情况感兴趣.

我只关心Cython涵盖的Python子集.

小智 10

一般来说,是的.当然也有错误(许多围绕扩大支持Python的子集,但是,臭虫,实际上使生成的C代码不正确比较少见),还有一些必要的注意事项(虽然它似乎只有一个候选名单上的项目从转移Python语义).

当您在纯Python模式中添加静态类型时,在某些情况下,无论是编译为Cython还是作为Python代码运行,它都会有所不同.无符号整数想到(例如:在上面的一个链路所提到的,-n将环绕如果n是无符号的,range(-n, n)因此是空的),以及整数溢出(Python的促进int秒(C longS)到longS(abritary精度的整数)).