Python コーディング規制
PEP8
コーディング規制が定められているもの
ペップエイトと呼ぶ
- インデントはスペース4つとしてタブは使わない
- 79文字以下で行を折り返す
- 可能であればコメント行は独立させる
- docstringを使う
- 演算子の周囲やカンマの後ろにはスペースを入れるが、カッコのすぐ内側には入れない
例) a = f(1, 2) + g(3, 4) - クラスにはCamelCase(単語の頭文字を大文字にして接続するスタイル)
- 関数やメソッドにはlower_case_with_underscores(小文字の単語同士をアンダースコアで繋ぐ)
- メソッドの第一引数としては常にselfを使うようにする
PEP8に違反していないか調べる
pycodestyleをつかう
仮想環境(venv-test)で実行
sample.pyには「import sys, os」と入力してある
PEP8によれば、別のモジュールをインポートする時は1行ずつインポートするべき
python -m venv venv-test venv-test/scripts/activate (venv-test)> pip install pycodestyle (venv-test)> pycodestyle sample.py sample.py:1:11: E401 multiple imports on one line # 1行に複数のインポート sample.py:1:15: W292 no newline at end of file # ファイルの終わりに改行なし
使用していないモジュールや変数をチェックする
Flake8(フレークエイト)をつかう
(venv-test)> pip install flake8 (venv-test)> flake8 sample.py sample.py:1:1: F401 'sys' imported but unused # 'sys'はインポートされましたが使用されていません sample.py:1:1: F401 'os' imported but unused # 'os'はインポートされましたが使用されていません sample.py:1:11: E401 multiple imports on one line # 1行に複数のインポート sample.py:1:15: W292 no newline at end of file # ファイルの終わりに改行なし