Пробелы внутри входных аргументов функции 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ошибка при попытке запустить свой сценарий, хотя я ожидал только ошибок, связанных с отсутствием зависимостей. Мои вопросы здесь связаны только с попыткой понять эту странно выглядящую функцию.

  1. Чем объясняется странное форматирование входных аргументов в этой функции? Это потому, что он не совместим с изолированным питоном и требует дополнительно cython?
  2. Как заставить такую ​​функцию работать правильно?

0 ответов

Другие вопросы по тегам