Cython: cimport и импорт numpy как (оба) np
на учебник из документации Cython есть операторы cimport и import модуля numpy:
import numpy as np
cimport numpy as np
Я обнаружил, что это соглашение довольно популярно среди пользователей numpy/cython.
Это выглядит странно для меня, потому что они и назван np. В какой части кода используются импортированные / cimported np? Почему компилятор cython не путает их?
1 ответов
cimport my_module
дает доступ к C функции или атрибуты или даже подмодули под my_module
import my_module
дает доступ к Python функции или атрибуты или подмодули под my_module
.
в вашем случае:
cimport numpy as np
дает вам доступ к API Numpy C, где вы можете объявить буферы массива, типы переменных и так далее...
и:
import numpy as np
дает вам доступ к функциям NumPy-Python, таким как np.array
, np.linspace
, etc
на Cython внутренне обрабатывает эту двусмысленность, так что пользователю не нужно использовать разные имена.