Как использовать numpy в необязательном наборе текста

Допустим, я хочу сделать функцию, которая принимает функцию лямбда (Callable) в качестве параметра, где функция лямбда принимает вектор в качестве входного сигнала (определенный как массив numpy или матрица numpy) и возвращает новый вектор. Как объявить подпись типа для Callable с типами numpy?

Моя первоначальная попытка выглядит примерно так:

def some_func(calc_new_vector: Callable[[np.array], np.array], ...other-params...) -> SomeType: ...do stuff... ...return... 

Однако это приводит к ошибке при запуске интерпретатора:

 TypeError: Callable[[arg, ...], result]: each arg must be a type. Got <built-in function array>. 

One Solution collect form web for “Как использовать numpy в необязательном наборе текста”

Смутно, np.array – это функция, полезная для создания массивов numpy. Это не тот type создаваемых массивов.

Тип – np.ndarray .

Итак, замените np.array на np.ndarray . Это должно решить проблему.

  • Представления на основе классов в aiohttp
  • `async for` в Python 3.4
  • Пакеты, устанавливаемые только в Python 2.7, но не в 3.5
  • Преобразование в Emoji
  • typing.Any vs object?
  • UnicodeDecodeError, utf-8 недопустимый байт продолжения
  • ImportError: Нет модуля с именем 'urllib2' Python 3
  • typing.NamedTuple и PyCharm
  • Python - лучший язык программирования в мире.