在Cython文档的tutorial中,有numpy模块的cimport和import语句:
import numpy as np
cimport numpy as np
我发现这个约定在numpy / cython用户中很受欢迎。
这对我来说很奇怪,因为它们都命名为 np 。 在哪部分代码中,使用了导入/ cimported np? 为什么cython编译器不会混淆它们?
答案 0 :(得分:25)
cimport my_module
可以访问 C 函数或属性,甚至可以访问my_module
import my_module
可以访问my_module
下的 Python 函数或属性或子模块。
在你的情况下:
cimport numpy as np
允许您访问Numpy C API,您可以在其中声明数组缓冲区,变量类型等...
和
import numpy as np
允许您访问NumPy-Python函数,例如np.array
,np.linspace
等
Cython在内部处理这种歧义,因此用户不需要使用不同的名称。