Laut PEP-484 sollten wir in der Lage sein, eine Generatorfunktion wie folgt zu tippen:
%Vor%Das Listenverständnis gibt jedoch den folgenden Fehler in PyCharm.
%Vor%Irgendeine Idee, warum PyCharm dies als Fehler betrachtet? Danke.
Ein paar Erläuterungen nach dem Lesen einiger Antworten. Ich verwende die PyCharm Community Edition 2016.3.2 (die neueste Version) und habe die typing.Generator
(im Code aktualisiert) importiert. Der obige Code läuft gut, aber PyCharm betrachtet dies als Fehler:
Ich frage mich also, ob dies tatsächlich ein Fehler oder eine nicht unterstützte Funktion in PyCharm ist.
Wie von Oleksandr Dashkov kommentiert, habe ich den gleichen Code mit Pycharm 2017.1 EAP ausprobiert, der diese Annotation korrekt behandelt . Ich denke, diese Funktion wird in die nächste offizielle Version von PyCharm integriert. Danke an alle.
Sie müssen das Modul typing
importieren. Laut Dokumentation:
Der Rückgabetyp der Generatorfunktionen kann durch das generische Zeichen kommentiert werden Geben Sie
Generator[yield_type, send_type, return_type]
ein, das von bereitgestellt wirdtyping.py
Modul
Versuchen Sie es stattdessen:
%Vor%Das obige wird das gewünschte Ergebnis haben:
%Vor%Ausgabe:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Wie in den Kommentaren erwähnt, verwenden Sie möglicherweise nicht die letzte Version von PyCharm. Versuchen Sie, zur Version 2016.3.2 zu wechseln, und Sie könnten in Ordnung sein. Leider ist dies ein bekannter Fehler, wie in @AshwiniChaudhary Kommentar.
Mehr, das gemeldete Problem (für die letzte Version von PyCharm) wurde im Dezember letzten Jahres eingereicht. Sie haben es wahrscheinlich repariert und die Änderungen in dieselbe Version verschoben.
Tags und Links python python-3.x pycharm