今天刚刚在pytype上看到了一个整洁的演示文稿,所以我想我会对其进行测试。无法完全弄清楚为什么它不起作用。 (我希望可以用它来帮助我将Python 2.7代码库转换为3.x)
首先尝试,这是一个名为“ something.py”的文件
def want_two_strings(a, b):
# type: (str, str) -> str
return 1
want_two_strings(1, 2)
让我们尝试一下
$ pytype something.py
[snip]
File "/home/chris/pytd/website/foo/something.py", line 3, in want_two_strings: bad option in return type [bad-return-type]
Expected: str
Actually returned: int
[snip]
是的,它发现了错误!让我们对其进行修复:
def want_two_strings(a, b):
# type: (str, str) -> str
return "hello"
want_two_strings(1, 2)
让我们再试一次
$ pytype something.py
[snip]
Success: no errors found
等等,什么?这是一个非常明显的错误。