С аннотацией функции python3, как я могу проверить тип функции в качестве ввода? - PullRequest
0 голосов
/ 08 мая 2018

Я хочу использовать функцию, чтобы проверить, является ли аргумент, переданный функции, функцией или нет.

Я делал что-то вроде:

from types import FunctionType
def f(ff: FunctionType):
    # do something

Кажется, это неправильно, потому что я могу буквально передать все, что угодно.

Как проверить, что переданный аргумент является функцией или нет с аннотацией?

1 Ответ

0 голосов
/ 08 мая 2018

Python сам по себе не навязывает типы - то, что вы показали, это просто намеки на типы, которые могут использоваться такими инструментами, как линтеры, чтобы предупредить вас, что вы собираетесь делать что-то, что может работать некорректно.

Если вы хотите установить тип, вы должны сделать это явно внутри тела функции. Или вы можете использовать статическую проверку типов, например mypy .

...