web-dev-qa-db-ja.com

pylintメッセージの処理方法:ID:W0612未使用の変数

Pylintを使用していくつかのコードをPEP8標準に更新しています。コードの一部はW0612未使用変数エラーをスローしていますが、これは、たとえば、この特定のケースでxのみが必要な場合に、(x、y)を返すモジュールを使用しているためです。これが実行されます。

(var_1, var_2) = func()

def func():
    a="a"
    b="b"
    return (a,b)

その後、var_1が返されますが、var_2は使用されないため、エラーがスローされます。これをどのように処理すればよいですか?私はこれを考えています

var = func()[0]

それを処理するための最良の方法は何ですか?

23
Jacxel

a, dummy = func()でうまくいくと思います。 Pylintは、(正しく思い出せば)_またはdummyで始まる未使用の変数名を許可します。 dummy_index

これは、--dummy-variables-rgxオプションをPylintに渡すことで構成できます。これは、ダミー変数名をキャッチする正規表現を指定します。

から Pylint 1.6.0ドキュメント

ダミー変数-rgx:

ダミー変数の名前に一致する正規表現(つまり、使用されないことが予想されます)。デフォルト:(_ + [a-zA-Z0-9] *?$)|ダミー

_を使用すると、実際に混乱が生じる可能性があります(小道具:SvenMarnach)。セミプライベート識別子のプレフィックスとして単一のアンダースコアを使用する規則があります。もちろん、二重のアンダースコアは特別なPythonメソッドのプレフィックスであり、さらにエイリアスgettext()は、_()のようにローカライズが必要なプログラムでは、_("text to translate")として機能します。

36
Rafał Dowgird