say
モジュールは、次のように文字列補間をPythonにもたらします。
import say
def f(a):
return say.fmt("The value of 'a' is {a}")
しかし、PyLintは変数 'a'が決して使用されないと文句を言います。私のコードはsay.fmt
を広範囲に使用しているため、これは問題です。この警告を消すにはどうすればよいですか?
はい、ピリント警告を黙らせることができます。
1つの方法を次に示します。
import say
def f(a):
#pylint: disable=unused-argument
return say.fmt("The value of 'a' is {a}")
あるいは、構成ファイルを作成して、次の行を追加することもできます。
[MESSAGES CONTROL]
disable=unused-argument
参照:
そのメッセージを消音する1つのアプローチは、引数にdummy
または_
、次のように:
import say
def f(_a):
return say.fmt("The value of 'a' is {_a}")
詳細はこちらをご覧ください: https://stackoverflow.com/a/10107410/1080804
有る disable-possibly-unused-variable
今( pylint 2.0は2018-07-15にリリースされたため )、say
モジュールをインポートするファイルでは無視できます:
新しいpossibly-unused-variableチェックが追加されました。
これは未使用変数に似ていますが、唯一の違いは、未使用変数のスコープ内でlocals()呼び出しを検出したときに出力されることです。 locals()呼び出しは、呼び出しの時点までに存在するすべての値を消費することにより、潜在的に上記変数を使用できます。この新しいチェックにより、ユーザーが意図的にlocals()を使用してすべてを消費する場合、このエラーを無効にできます。
たとえば、次のコードはこの新しいエラーをトリガーします。
def func(): some_value = some_call() return locals()
このチェックの理論的根拠 ユースケースを明示的に含む 。ただし、完全な解決策ではないことに注意してください。
Locals()が同じスコープで使用されている場合、未使用の変数を個別にチェックすることは素晴らしいことです。
def example_no_locals(): value = 42 # pylint: disable=unused-variable def exmaple_defined_before(): value = 42 # pylint: disable=possibly-unused-variable print(locals()) def exmaple_defined_after(): print(locals()) value = 42 # pylint: disable=unused-variable
これの利点は、未使用変数のチェックを失うことなく、ファイル(多くの文字列書式設定、または#641の設定コードの例)またはプロジェクト全体のおそらく未使用変数を無効にできることです。