本記事ではPythonのmypyを使って、変数や関数の型チェックを行う方法についてご紹介していきます。
インストール
早速使っていきたいところですが、まずはライブラリをインストールする必要があります。
- pip install mypy
上記のコマンドをプロンプトに打ち込み、インストールしてください。
インストールの仕方が分からない人は、下記の記事をご参照ください。
【Python】ライブラリをインポートできない時の対処法をまとめてご紹介! - TomoGのごちゃまぜ倉庫
ソースコード
gist6f70d2e306354ac62c4c310d56fb8e51
JupyterLabで使う場合
mypyをJupyterLabで使う方法については、かなり複雑となります。
筆者は試していませんが方法はあるようなので、下記の記事を参考に試してみてください。
nakano-tomofumi.hatenablog.com
VSCodeで使う場合
VisualStudioCode(VSCode)で使う場合、ターミナルにVSCodeのターミナルに下記のコマンドを入力してください。
- mypy 任意ファイル.py
もしくは下記のコマンドを入力してください。
- mypy --strict 任意ファイル.py
後者のコマンドの方がより厳密にチェックしてくれるため、重要なプログラムには後者の方はいいかもしれません。
(おまけ)自動でmypyを実行する方法
VSCodeで自動でmypyを実行する方法として、下記の設定をした後に【Ctrl + Shift + B】を押してください。
そうすることで自動的にmypyで型チェックを行った後、ファイルが実行されるようになっています。
フォルダ構成
WorkSpace(任意の名前)
├── mypy.ini
├── main.py (任意の名前)
├── PythonWorkSpace.code-workspace
└── .vscode
└── tasks.json
tasks.json
- {
- "version": "2.0.0",
- "tasks": [
- {
- "label": "Run with mypy",
- "type": "shell",
- "command": "mypy main.py; if ($?) { python main.py }",
- "group": {
- "kind": "build",
- "isDefault": true
- },
- "problemMatcher": []
- }
- ]
- }
mypy.ini
- [mypy]
- strict = True
- warn_return_any = True
- check_untyped_defs = True
参考記事
本記事の内容は以上となります。
Pythonは変数の型を省略可能の強みがあるのですが、他人や時間が経ってから振り返った時、その変数や関数がどのような値を返してくるのか分かりにくくなります。
コメントアウトで補足が基本であるものの、mypyを使って型を明示することで可読性の向上にも繋がるでしょう。
本記事は以上です。お疲れさまでした。