Если у вас есть какой-то код Python, решите ли вы проверить его с помощью mypy, это совершенно необязательно. Если вам нужна проверка типов вашего кода, вы можете запустить mypy и получить отчет обо всех ошибках, содержащихся в вашем коде (если они есть). Если вас не волнует проверка типов вашего кода, вы можете игнорировать этот инструмент (поскольку вам не нужен отчет).
Обратите внимание, что все, что делает mypy
, это дает вам отчет. Вот почему выполнение mypy test.py
ничего не дает — это создание отчета, а не запуск кода.
В настоящее время ваш код свободен от ошибок типов, поэтому mypy вообще ничего не выводит — отчет пуст. Вы можете увидеть пример отчетов, которые mypy выдаст вам, пытаясь преднамеренно внести ошибку в ваш код. Например, попробуйте изменить свою функцию, чтобы она возвращала строку вместо логического значения. Это противоречит вашей подписи типа, поэтому mypy отметит это как ошибку и включит в сгенерированный отчет.
Чтобы на самом деле запустить ваш код, вам нужно будет использовать интерпретатор Python. Здесь, кажется, вы пишете код Python 3, поэтому вам нужно сначала установить и использовать интерпретатор Python 3. Как только это будет сделано, вы можете запустить свой код в командной строке, выполнив python3 test.py
, если вы используете Mac или Linux, или выполнив py -3 test.py
, если вы используете Windows.
Обратите внимание, что интерпретатор Python 3 полностью игнорирует аннотации вашего типа при его запуске. Аннотации являются допустимым синтаксисом Python, но в основном игнорируются самим интерпретатором Python. Аннотации существуют исключительно как способ, позволяющий вам прикреплять метаданные к определенным частям вашего кода, которые сторонние библиотеки и инструменты могут затем анализировать и использовать.
person
Michael0x2a
schedule
18.02.2018
mypy my_script.py
, вы можете вместо этого попробоватьpython my_script.py
. - person G_M   schedule 16.02.2018File "test.py", line 1 def p(st : str) -> bool: ^ SyntaxError: invalid syntax
- person Mohammad M   schedule 16.02.2018python3 my_script.py
? - person G_M   schedule 16.02.2018mypy test.py
перед использованиемpython3 test.py
? - person Mohammad M   schedule 16.02.2018