我尝试在函数的定义中明确编写类型提示
# 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: ...
我什么都没有。我看到了这个答案Using Mypy local stubs。所以我尝试import
。
from test import annotated
annotated(2, 3)
没关系。我有
error: Argument 2 to "annotated" has incompatible type "int"; expected "str"
但是电话annotated(2, 's')
还是一无所获。
那么我应该怎么做才能检查存根文件的非法操作呢?谢谢