Пробелы внутри входных аргументов функции Python, потому что это функция Cython?
Я ничего не знаю о cython, только о python.
Функция
emd_c
ниже (из
pot
оптимальный транспортный пакет) имеет заголовок, форматы аргументов которого я никогда раньше не видел или который, я не думаю, будет работать с автономным python / numpy, но, возможно, только если загружен cython.
def emd_c(np.ndarray[double, ndim=1, mode="c"] a, np.ndarray[double, ndim=1, mode="c"] b, np.ndarray[double, ndim=2, mode="c"] M, int max_iter):
Как видите, в самих аргументах есть пробелы ([] a
,
[] b
,
[] M
), что обычно было бы незаконным.
Я хотел использовать эту функцию автономно, а не устанавливать весь пакет, из которого она взята:
Скопировав функцию из пакета, из которого она пришла, и вставив ее в свой собственный сценарий, Spyder мгновенно дал мне
invalid syntax
ошибка при попытке запустить свой сценарий, хотя я ожидал только ошибок, связанных с отсутствием зависимостей. Мои вопросы здесь связаны только с попыткой понять эту странно выглядящую функцию.
- Чем объясняется странное форматирование входных аргументов в этой функции? Это потому, что он не совместим с изолированным питоном и требует дополнительно cython?
- Как заставить такую функцию работать правильно?