2016-10-12 72 views
-1

是否有語法檢查器能夠基於邊緣案例檢測到損壞的代碼。舉例:測試邊緣案例的Python語法檢查器

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


for i in run(): 
    print i * 2 

此代碼已損壞,因爲None * 2沒有意義。有沒有工具來檢測這種錯誤?

謝謝

+0

'NameError:j is not defined'或什麼時候你運行它。 –

+1

'第10行:TypeError:不支持的操作數類型*:'NoneType'和'int'' – Chris

+2

這不是一個語法錯誤;這是一個運行時語義錯誤。 – Prune

回答

3

您正在尋找一個類型檢查器,而不是語法檢查器。下面是一個嘗試:http://mypy-lang.org/