2017-07-28 8 views
3

、私は通常、このような変数のために(それらを呼び出す正しい方法がわからない)type hints後続使用しますPyCharm - 末尾の型ヒントとPyCharmで線幅の制限

my_var = my_other_variable # type: MyObject 

しかし、時々私は既に持っています以下のような私は本当に分割することができない、またはタイプヒントが少し長いですが非常に長い行、:

my_var = my_really_long_variable_name # type: QtWidgets.QVeryLongQtClassName 

これは長い私の線幅の制限(79文字)よりフルラインを作り、ひいてはPyCharmなります警告にフラグを立てる。

したがって、には、タイプヒントを別の行に入れる方法がありますか?私はこれらを試してみましたが、彼らが動作していないようです:

# type: QtWidgets.QVeryLongQtClassName 
my_var = my_really_long_variable_name 

my_var = my_really_long_variable_name \ 
    # type: QtWidgets.QVeryLongQtClassName 

私は考えることができる最も近いものは本当に多くの線幅を短くしていない可能性がある。この、次のとおりです。そうでなければ

my_var = \ 
    my_really_long_variable_name # type: QtWidgets.QVeryLongQtClassName 

、私が持っている唯一の選択肢は、このような何かを行うことです。

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

タイプの短縮の他の代替は、私が行っているテストに基づいて動作するようには思えません。

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

答えて

2

、私はそれは非常に便利な型注釈を使用するためのモジュールから直接、クラス名をインポートすることが分かっ:PyCharmはmy_varの型が、この場合には本当にQtWidgets.QVeryLongQtClassNameであることを認識苦労しそうです。例:

from QtWidgets import QVeryLongQtClassName 
my_var = my_really_long_variable_name # type: QVeryLongQtClassName 

私はこの姿勢であなたのような問題に遭遇していません。また

my_var = (
    my_really_long_variable_name 
) # type: QtWidgets.QVeryLongQtClassName 

my_var = \ 
    my_really_long_variable_name # type: QtWidgets.QVeryLongQtClassName 

UPDATE:これを実装する別の方法

はしかし、私は、このバージョンは、長い行に注釈を付けるための最も読みやすく、便利な方法であることが判明しましたそれはサポートされており、ほとんどのIDEで問題を引き起こすことはありません。

+1

このアップデートでは、ブラケットの外側にタイプヒントを置くことができ、PyCharmもそれをうまく認識しているようです。それは私には理にかなっています。タイプヒントを指定するのに十分なスペースがあるからです。私はあなたの質問にこのオプションを追加しました。(あなたが気にならないといいですか?) – FernAndr

+0

実際に、彼らは編集を拒否しました。そのオプションを自分で追加することができますか?答えを再度受け入れますか?それ以外の場合は、私自身の回答を追加することもできます。基本的に、 '#type:'注釈を閉じる括弧の後に置く: ')#type:QtWidgets.QVeryLongQtClassName' – FernAndr

+1

@FernAndr Edited :) –