Typhinweisgenerator in Python 3.6

9

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.

    
Jinho Choi 01.03.2017, 11:58
quelle

2 Antworten

2

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.

    
Jinho Choi 01.03.2017, 17:38
quelle
4

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 wird    typing.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.

    
user6165050 01.03.2017 12:04
quelle

Tags und Links