Address
304 North Cardinal St.
Dorchester Center, MA 02124

Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM

VSCodeのPythonコード中の波線による警告を消す「# type: ignore」について

VSCodeのPythonコード中の波線による警告を消す「# type: ignore」について

今回はエディタのVSCodeでPythonに関連する拡張機能Pylanceなどを使っている場合に、コード中の記述に波線がひかれる部分が出てくることがあります。たとえば次のような感じです。

VSCodeのPythonコードでの波線の意味

VSCodeとPythonコード

この波線は、Pythonのコードをチェックする拡張機能(私の場合はPylance)が「Pythonの文法上は絶対的に間違いとは言えないけど、書き方としてはあまり望ましくないですよ」という警告を意味します。したがって波線があるコードでも実際に実行してもエラーがでない場合も多いです。

波線が出ないよう上手く回避する書き方やロジックが頭に浮かべばいいのですが、自分の技術レベルではどうすればいいのかすぐにはわからない場合もあると思います。現実的には「とりあえず動けばいいや」精神も大事ではあるものの、そうはいってもコード中に波線があるとやはり気になります。

そこで今回はコードはそのままでその波線を消す方法を紹介します。

「type: ignore」を使い波線を消す

VSCodeとPythonコード

上の画像を見てください。2つ目の仮引数、

captain: str = None

の「None」の部分に波線による警告があります。

その波線部分にマウスカーソルをあわせてみましょう。すると上の画像のように警告の内容がポップアップで表示されます。その表示の中に、「Quick Fix…(Ctrl+.)」という記述があります。

「Fix」は「直す」という意味の英語ですので、その表示のとおりキーボードで「Ctrl」と「.」を同時に押します。すると次のような表示になります。

VSCodeとPythonコード

ここでは、

Add ‘# type: ignore’ to suppress warning

と表示されています。意味は、「警告を出さないようにしたいなら、『# type: ignore』をコードに書け」ということです。

これに従い、次の画像のように書きます。Pythonでは#はコメントアウトを意味します。

VSCodeとPythonコード

実際にそのようにすると、「None」の下の波線が消えています。

このようにしてVSCode上の警告の波線を消すことができます。上でも述べたように本来は波線が出ないようなコードを書くべきなのでしょうが、実際にはなかなかうまくそれができないことも多いでしょう。その場合に、気になるなら波線による警告をこのようにして消すことができるということです。

チームで開発する場合はこうしたことをすべきなのかどうかも含めてルールが決まっていることでしょう。ですが個人の趣味レベルならばこうしたやり方も「ありといえばあり」なのではないでしょうか。