Cython:cimport和import numpy as(both)np

时间:2013-11-28 14:07:10

标签: python numpy cython python-import

在Cython文档的tutorial中,有numpy模块的cimport和import语句:

import numpy as np
cimport numpy as np

我发现这个约定在numpy / cython用户中很受欢迎。

这对我来说很奇怪,因为它们命名为 np 。 在哪部分代码中,使用了导入/ cimported np? 为什么cython编译器不会混淆它们?

1 个答案:

答案 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.arraynp.linspace

Cython在内部处理这种歧义,因此用户不需要使用不同的名称。