Im folgenden Code:IntelliJ-IDEA Python Typ Checker - falsche erwarteten Typ?
from typing import List
def test() -> List[str]:
ret = ["Hi", "Hi"]
return ret
Ich bin auf der Funktionsdefinition Zeile die folgende Warnung empfangen:
Expected type 'Integral", got 'str' instead
ich keinen Grund sehen, warum dies würde interpretieren Python-Modul der IntelliJ IDEA- einfache Funktion als Rückgabe einer Liste von Integral anstelle von str. Ist das ein Typ Checker Bug?
Ich denke, der Fehler ist von 'List [str]' selbst, anstatt die Rückkehr der Funktion - was * ist * 'typing.List'? – jonrsharpe
Es ist ein Teil von mypy, der die Typprüfung auf Python erlaubt; Wenn Sie jedoch die Standardliste von Python (Kleinbuchstaben) verwenden, wie in def test() -> list [str], erhalten Sie genau den gleichen Fehler wie bei str. – Shookit
Wenn Sie "Fehler" sagen, meinen Sie einen Python-Fehler oder eine Warnung von PyCharm? Vermutlich würde letzteres, als "liste [str]", überhaupt nicht funktionieren. Beachten Sie, dass z.B. * "PyCharm 4.5 EAP-Builds haben ** vorläufigen Support ** für PEP 484, da dieser PEP noch nicht abgeschlossen ist" * (https://www.jetbrains.com/pymarch/help/type-hinting-in-pycharm). html), also sollten Sie nicht zu überrascht sein, wenn es noch nicht voll funktionsfähig ist. – jonrsharpe