pylintで2スペースインデント用の設定
Pythonの標準的なコーディング規約であるPEP8では、インデントは4スペースと定められています。
PEP 8 -- Style Guide for Python Code | Python.org
個人的には、しばらくメインで書いていたJavaScriptを2スペースでやっていたこともあって、なんとなくPython書くときは2スペースインデントで書いているのですが、そうすると静的チェックで使っているpylintでいくつかエラーが発生してしまいます。
そこで以下の点を変更することで、2スペース用の設定にすることができました。
[FORMAT] ... # String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 # tab). indent-string=' ' # Number of spaces of indent required inside a hanging or continued line. indent-after-paren=2 ...
インデントを2スペースとする
2スペースのインデントで発生したエラーは、 Bad indentation. Found 2 spaces, expected 4 [bad-indentation]
というものでした。
この場合は indent-string
の設定を、デフォルトでは ' '
とスペース4つとなっているため、 ' '
とスペース2つにすることで、上記エラーにならないようになりました。
括弧に続く行のインデントも2スペースとする
indent-after-paren
もデフォルトは 4
なのですが、そのままでは以下のように次の行に継続するような場合のインデントを2スペースにすると、 Wrong hanging indentation (add 2 spaces). [bad-continuation]
という警告が出てしまいます。
my_list = [ 1, 2, 3, 4, 5, 6, ]
そこで、ここも 2
を設定しておくことで、エラーとならなくなりました。
参考
- Pythonでインデントをスペース2つにした際の周辺ツールの設定 | タロスカイ公式ブログ
- 他の静的チェックツールのflake8やautopep8での設定についてまとめられていました
Pythonによるクローラー&スクレイピング入門 設計・開発から収集データの解析まで
- 作者: 加藤勝也,横山裕季
- 出版社/メーカー: 翔泳社
- 発売日: 2017/10/23
- メディア: Kindle版
- この商品を含むブログを見る