Using Mypy local stubs

我与影子孤独终老i 提交于 2019-12-05 01:57:54
Musen

I do not know why someone have voted down this question without answering it or commenting about why he/she disliked it, but here is the answer I figured out:

The stub file of mypy only works when importing a module. Thus, if you have

def try_check(a):
    pass

in kk.py, and

def try_check(a: int):...

in kk.pyi in the same directory with kk.py or in the directory that the MYPYPATH specifies, mypy will type check the python file if you import kk. It is, if you have

import .kk
kk.try_check('str')

in test.py and run mypy test.py, mypy will report the type conflict. However, it will not report the conflict if you have

try_check('str')

in kk.py.

You can type check functions in the program that contains the function definition If you write the typing hint explicitly in the definition of the function. For instance, you can write

def try_check(a: int):
    pass

try_check('str')

in kk.py and then mypy kk.py. Mypy will report the type conflict.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!