Python 测试边缘情况的语法检查器

Python syntax checkers that test edge cases

是否有语法检查器能够根据边缘情况检测损坏的代码。一个例子:

def run():
    for j in [0, 1]:
        if j == 0:
            yield j
        else:
            yield None


for i in run():
    print i * 2

此代码已损坏,因为 None * 2 没有意义。是否有检测此类错误的工具?

谢谢

您正在寻找类型检查器,而不是语法检查器。这是一种尝试:http://mypy-lang.org/

您需要的是类型检查器,而不是语法检查器。 github.com/python/mypy