2019-07 現在の自分の Python の使い方を記録。参考資料:
- PEP 8 -- Style Guide for Python Cod: https://www.python.org/dev/peps/pep-0008/
- Google Python Style Guide: https://github.com/google/styleguide/blob/gh-pages/pyguide.md
- https://code.visualstudio.com/docs/python/linting
選択したツール
- 整形ツール
- black
- 理由: 設定項目が少ないらしいので
- 実行方法:
black ディレクトリ
- 型チェック
- mypy
- 理由: 標準なので
- 実行方法:
mypy ディレクトリ
- 厳しい実行方法:
mypy --disallow-untyped-defs sherpa
- コード解析
- pylint
- 理由: たまたま VisualStudio Code のデフォルトだったので
- 実行方法:
pylint ディレクトリ
- ドキュメント
- pydoc ./ファイル名 でたまに docstring の見た目を確認
mypy
何もやってないと以下のようなエラーが大量に出る。
error: Cannot find module named 'folium'
error: No library stub file for module 'sklearn.preprocessing'
...
メジャーなライブラリには型が付いていたり
stub で型を付けられているが、そ
うでないやつは明示的に無視する。
[mypy]
[mypy-sklearn.*]
ignore_missing_imports = True
[mypy-numpy.*]
ignore_missing_imports = True
のようなファイルを mypy.ini として保存すると無視される。
VSCode の settings.json
"[python]": {
"editor.formatOnSave": true
},
"python.linting.mypyEnabled": true,
"python.linting.pylintEnabled": true,
"python.formatting.provider": "black",
"python.linting.pylintArgs": ["--disable", "line-too-long,bad-continuation"]
"python.linting.mypyArgs": ["--disallow-untyped-defs"],