Pythonの処理ブロックは半角空白、タブの数を合わせてインデント(ネスト)させる

2021/01/05PythonPythonの基本

PythonはJavaやC言語と違い、処理のブロックを「{ }」ではなく、半角空白、タブの数でインデント(ネスト)して管理します。

スポンサーリンク

Pythonでのブロック管理方法

Pythonではブロックの管理をネストで行います。

インデント(ネスト)は半角空白文字やタブの数で管理します。

i = 0
if i == 0 :
    print( "i == 0" )
else :
    print( "i != 0" )

上記の例ではif文のインデント(ネスト)を半角空白4つでネストしています。

半角空白文字の数が異なるとエラー

半角空白文字やタブの数でブロックを管理しているので、同じブロック内で半角空白やタブの数が異なるとエラーになります。

i = 0
if i == 0 :
    print( "この行は半角空白文字4つ" )
     print( "この行は半角空白文字5つ" )
else :
    print( "この行は半角空白文字4つ" )

この文を実行するすると

  File "main.py", line 5
    print( "この行は半角空白文字5つ" )
    ^
IndentationError: unexpected indent

というエラーになり実行できません。

空白とタブが混ざってもエラー

見た目に同じインデント(ネスト)になっていても、半角空白文字とタブが混ざるとエラーになります。

i = 0
if i == 0 :
	print( "この行はタブ文字1つ" )
    print( "この行は半角空白文字4つ" )
else :
    print( "この行は半角空白文字4つ" )

この文を実行すると

  File "main.py", line 4
    print( "この行は半角空白文字4つ" )
                           ^
IndentationError: unindent does not match any outer indentation level

まとめ

Pythonではブロックをインデント(ネスト)数で管理するので、使う半角空白文字やタブの数を統一してコーディングする必要があります。

スポンサーリンク
株式会社システムトラスト

システムトラストでは、システムエンジニア、プログラマーなどを随時募集中です。気軽にご相談ください。

お問合せ