2016年2月4日 11:00
Pythonで学ぶ 基礎からのプログラミング入門 (36) Pythonのコーディング規約「PEP8」
インデントのレベル(深さ)に応じて、4、8、12、16……と増えていきますが、あまりにも深くなるようであれば、アルゴリズムを見なおしたり、関数として外に出すなりすべきです。特に制約がなければ、これさえ守れば通常は問題がおきません。
よくあるのがタブを使うというケースです。これも間違いではないのですが、タブが実際にどれだけのスペースを取るかは推測しがたいですし、空白ほど明白なものではないため避けたほうが無難です。ただ、タブを入力するのは空白ボタンを連打するより楽なので、エディタの機能を使ってタブを半角の空白4つとして入力されるようにしてもいいかもしれません。
ただ、少なくとも空白のインデントとタブによるインデントを混同するのは避けてください。これは環境によってエラーとなります。すでに書かれているコードがタブでインデントされているときはタブでインデントすべきです。
許されるのであれば、エディタやコマンドを使ってタブを空白4つに変換してしまってもいいかもしれません。
ほかにインデントで気を配るべきなのは、関数の引数やif文などが長くなり、複数行に分けたい場合です。設計の良し悪しは別にして、引数を8つ以上とる変数は現実に存在します。