Pythonの行とインデントの基本ルールを徹底解説
Pythonにおける行とインデントとは
Pythonでは、クラスや関数の定義、if文などのフロー制御において、他の多くのプログラミング言語で使われる波括弧({ })によるコードブロックの指定を行いません。代わりに、行のインデント(字下げ)によってブロックを表現します。このインデントは言語仕様として厳格に強制されており、正しく記述しないとエラーが発生します。
インデントの基本ルール
インデントに使用するスペースの数は自由に選べますが、同じブロック内のすべての文は、必ず同じ量だけインデントする必要があります。たとえば、次のように書きます。
if True:
print("True")
else:
print("False")一方、次のようなコードはインデントが揃っていないため、エラーになります。
if True:
print("Answer")
print("True")
else:
print("Answer")
print("False")連続した行がひとつのブロックを形成する
つまりPythonでは、同じ数のスペースでインデントされた連続した行が、ひとつのブロックとして扱われます。以下のサンプルコードには、複数のステートメントブロックが含まれています。
注意: この段階ではコードのロジックを理解しようとしなくて構いません。まずは、波括弧がなくてもインデントによってさまざまなブロックが形成されていることを把握することが大切です。
#!/usr/bin/python
import sys
try:
# ファイルストリームを開く
file = open(file_name, "w")
except IOError:
print("There was an error writing to", file_name)
sys.exit()
print("Enter '", file_finish)
print("' When finished")
while file_text != file_finish:
file_text = input("Enter text: ")
if file_text == file_finish:
# ファイルを閉じる
file.close()
break
file.write(file_text)
file.write("\n")
file.close()
file_name = input("Enter filename: ")
if len(file_name) == 0:
print("Next time please enter something")
sys.exit()
try:
file = open(file_name, "r")
except IOError:
print("There was an error reading file")
sys.exit()
file_text = file.read()
file.close()
print(file_text)インデントに関する補足ポイント
- 公式スタイルガイド「PEP 8」では、半角スペース4つのインデントが推奨されています。
- タブとスペースを混在させると
TabErrorやIndentationErrorの原因になるため、どちらか一方に統一しましょう。 - エディタの設定で「タブキーを押すとスペースが挿入される」ようにしておくと、意図しない混在を防げます。
インデントは単なる見た目の問題ではなく、Pythonではプログラムの構造そのものを決める重要な要素です。正しいインデント習慣を身につけることが、読みやすくバグの少ないコードを書く第一歩となります。
-
Pythonのファイルオブジェクトとは?open関数によるファイル操作の基本を徹底解説
Pythonでは、ファイルを読み書きする際に特別なライブラリをインポートする必要はありません。ファイル操作は言語にネイティブに組み込まれているためです。 まず最初に行うのは、組み込み関数 open() を使ってファイルオブジェクトを取得することです。open() 関数はファイルを開き、ファイルオブジェクトを返します。このファイルオブジェクトには、開いたファイルから情報を取得したり、内容を操作したりするためのメソッドや属性が含まれています。 ファイルとは何か? ファイル操作を行う前に、「ファイルとは何か」を理解しておきましょう。ファイルとは、関連する情報を保存するためにディスク上に確保された「名
-
PythonでJSONファイルを見やすく整形表示(プリティプリント)する方法
Pythonは、他の多くのプログラミング言語と同様に、JavaScript Object Notation(JSON)データをスムーズに扱うことができます。さまざまなソースからJSONデータを取り込み、他のファイルと同じように操作できるため、JSONファイルを読みやすい形で整形表示(プリティプリント)したい場合に非常に便利です。 この記事では、PythonでJSONファイルをプリティプリントする2つの方法をご紹介します。どちらの方法もターミナルとコマンドラインを使用しますが、そのうち1つはPythonの知識がまったく不要です。 プリティプリントとは?(JSONファイルで使う理由) 簡単に言え