7.1 インデントの重要性
時には複数の命令をグループ化する必要があります。このようなグループは コマンドブロックあるいは単にコードブロックと呼ばれます。 Pythonのコードブロック はインデントによって決まります。これにより プログラムの構造がクリアで読みやすくなります。
多くの他のプログラミング言語では、コードブロックは括弧やキーワードで 示されますが、Pythonはインデントを使用して命令のシーケンスを区切ります。これを ブロック構造と呼びます。
理論的には、インデントはスペースあるいはタブを使用して行われます。しかしPEP 8、 Pythonの公式なコードスタイルガイド、 は4つのスペースを使用することを推奨しています インデントのための1レベル。コード全体で一貫したインデントスタイルを 使用することが重要です。
ブロックの構造:
コードブロックは命令文から始まり、その後に続く
コロン(例: if
,
for
, while
, def
, class
)と次の行でのインデントです。
同じインデントレベルのすべての命令文は1つの
ブロックの一部として扱われます。
インデントはPythonがコードをどのように解釈するかに影響します。 インデントの誤りはIndentationErrorを引き起こすか、プログラムのロジックを変更してしまいます。
7.2 同じインデントの数
コードブロックが同じ数のインデントを持つことは非常に重要です。 したがって、タブとスペースの混合は非常に推奨されません。 一部のエディターはタブを8つのスペースとして表示し、他は4つとして表示します。このためエラーが発生する可能性があります。
PyCharmはこの問題を簡単に解決します: キーボードのTABを押すたびに4つのスペースを 挿入します。タブ文字がないため、問題もありません。
例:
間違ったやり方 | 正しいやり方 |
|
|
いくつかの入れ子になったif文があると、ミスを犯しがちです:
間違ったやり方 | 正しいやり方 |
|
|
if
とelse
のどちらに関連しているかを
明確に理解する必要があります。さもないと、インデントを誤って配置し、
思い通りに動作しないプログラムになる危険性があります。
特に初心者はこのミスをしがちですが、準備されたコードの一部を
if
の下に移動したり、別の場所へコードブロックを
移動したりする際に問題を引き起こすことがあります。
PyCharmを使用しましょう: このIDEはこれらの問題について 良く知っており、コードを移動する際に必要な数のインデントを自動的に追加してくれます。
GO TO FULL VERSION