在下面的代碼:IntelliJ-IDEA的Python類型檢查器 - 不正確的預期類型?
from typing import List
def test() -> List[str]:
ret = ["Hi", "Hi"]
return ret
我收到的函數定義行以下警告:
Expected type 'Integral", got 'str' instead
我看不出有任何理由的IntelliJ-IDEA的Python模塊會將此解釋簡單的函數返回一個積分列表而不是str。這是一個類型檢查器錯誤?
我認爲錯誤來自'List [str]'本身,而不是函數的返回值 - what * is * typing.List'? – jonrsharpe
它是mypy的一部分,它允許對Python進行類型檢查;然而,如果你使用python的標準列表(小寫),就像在def test() - > list [str]中一樣,你會得到與str完全相同的錯誤。 – Shookit
當你說「錯誤」時,你的意思是一個Python錯誤還是來自PyCharm的警告?據推測,後者作爲「名單」根本就不起作用。請注意,例如*「PyCharm 4.5 EAP版本對PEP 484有**初步支持**,因爲這個PEP還沒有最終確定」*(https://www.jetbrains.com/pycharm/help/type-hinting-in-pycharm。 HTML),所以你不應該太驚訝,如果它還沒有完全正常工作。 – jonrsharpe