Я пытаюсь написать подсказку типа явно в определении функции
# test.py
def annotated(x: int, y: str) -> bool:
return x < y
запустил python3.5 -m mypy test.py
и получил следующее сообщение
test.py:2: error: Unsupported operand types for > ("str" and "int")
Это правильно. Но когда я пытаюсь использовать файл-заглушку
# test.py
def annotated(x, y):
return x < y
# test.pyi
def annotated(x: int, y: str) -> bool: ...
Я ничего не получил. Я видел этот ответ Использование локальных заглушек Mypy. Поэтому я пытаюсь import
.
from test import annotated
annotated(2, 3)
Ничего страшного. я получил
error: Argument 2 to "annotated" has incompatible type "int"; expected "str"
Но вызов annotated(2, 's')
по-прежнему ничего не дал.
Итак, что мне делать, чтобы проверить недопустимую операцию с файлом-заглушкой? Спасибо