2017-07-28 9 views
3

In PyCharm, verwende ich normalerweise type hints (nicht sicher, ob der richtige Weg, um sie zu nennen) für Variablen wie diese Hinter:PyCharm - Nachgestellte Typ Hinweise und Linienbreite Grenze

my_var = my_other_variable # type: MyObject 

Aber manchmal habe ich schon eine sehr lange Linie, die ich nicht wirklich geteilt, oder der Typ Hinweis ist ein bisschen lang, wie zum Beispiel:

my_var = my_really_long_variable_name # type: QtWidgets.QVeryLongQtClassName 

Diese die volle Linie länger als meine Linienbreite Grenze (79 Zeichen) machen würde, und daher PyCharm würde Kennzeichnen Sie eine Warnung.

gibt es also eine Möglichkeit, den Typ Hinweis in einer anderen Zeile zu setzen? Ich habe versucht, diese, aber sie scheinen nicht zu funktionieren:

# type: QtWidgets.QVeryLongQtClassName 
my_var = my_really_long_variable_name 

my_var = my_really_long_variable_name \ 
    # type: QtWidgets.QVeryLongQtClassName 

Das nächste, was ich von ist dies denken kann, was nicht wirklich, dass Breite viel die Leitung verkürzen können:

my_var = \ 
    my_really_long_variable_name # type: QtWidgets.QVeryLongQtClassName 

Andernfalls wird die einzige Alternative die ich habe ist, so etwas zu tun:

v = my_really_long_variable_name 
my_var = v # type: QtWidgets.QVeryLongQtClassName 

die andere Alternative die Art der Verkürzung scheint nicht auf Grund der Prüfungen zu arbeiten ich getan habe; PyCharm scheint Anerkennung zu kämpfen, dass my_var ‚s Art wirklich QtWidgets.QVeryLongQtClassName in diesem Fall:

t = QtWidgets.QVeryLongQtClassName 
my_var = my_really_long_variable_name # type: t 

Antwort

2

Ich fand es sehr bequem, die Klassennamen direkt aus dem Modul für die Typanmerkung Nutzung zu importieren. Zum Beispiel:

from QtWidgets import QVeryLongQtClassName 
my_var = my_really_long_variable_name # type: QVeryLongQtClassName 

Ich habe noch kein Problem wie Ihres mit dieser Einstellung begegnet.

Allerdings fand ich diese Version die meisten lesbar und bequeme Art und Weise zu sein, eine lange Linie zu annotieren:

my_var = \ 
    my_really_long_variable_name # type: QtWidgets.QVeryLongQtClassName 

UPDATE: Ein anderer Weg, dies zu realisieren:

my_var = (
    my_really_long_variable_name 
) # type: QtWidgets.QVeryLongQtClassName 

Zusätzlich Es wird unterstützt und verursacht in den meisten IDEs keine Probleme.

+1

Ihr Update gab mir die Idee, dass Sie den Typ Hinweis auch außerhalb der Klammern setzen können und PyCharm scheint es auch gut zu erkennen. Das sieht für mich ideal aus, da Sie dann viel Platz haben, um den Typhinweis anzugeben. Ich habe diese Option zu Ihrer Frage hinzugefügt (ich hoffe, es macht Ihnen nichts aus) – FernAndr

+0

Eigentlich haben sie die Bearbeitung abgelehnt. Können Sie diese Option selbst hinzufügen und ich werde die Antwort erneut akzeptieren? Ansonsten kann ich auch eine eigene Antwort hinzufügen, indem ich deine zitiere. Im Grunde, die # # type: 'Annotation nach der schließenden Klammer, wie zum Beispiel:') # type: QtWidgets.QVeryLongQtClassName' – FernAndr

+1

@FernAndr Edited :) –

Verwandte Themen