Pythonを学び始めたとき、「:(コロン)」ってどこで使うの?と疑問に思ったので、
自分の理解を整理する目的でまとめてみました。
この記事では、Pythonでどんなときにコロン :
を使うのかを中心に、
逆に使わないケースや例外的な構文についてもあわせて記載します。
Pythonの基本構文スタイル:「:」とインデントの組み合わせ
Pythonでは、制御構文(if文、for文、while文、関数定義、クラス定義など)では文末にコロン :
をつけて、インデントされたブロック(処理内容)を記述するというスタイルが基本です。
以下は基本構文のイメージです。
制御構文:
処理
コロンを使う主な構文
以下は、Pythonでコロン :
を使用する主な構文とその用途です。
1. 条件分岐(if / elif / else)
条件に応じて処理を分けたいときに使います。
if x > 10:
print("10より大きい")
elif x == 10:
print("ちょうど10")
else:
print("10より小さい")
2. ループ処理(for / while)
繰り返し処理を行うときに使います。
for i in range(3):
print(i)
x = 3
while x > 0:
print(x)
x -= 1
3. 関数定義(def)
何度も使いたい処理を関数としてまとめるときに使います。
def greet(name):
print("Hello, " + name)
4. 例外処理(try / except / finally)
エラーが発生する可能性がある処理を安全に扱うために使います。
try:
value = int("abc")
except ValueError:
print("数値に変換できません")
finally:
print("終了処理")
5. with文(コンテキストマネージャ)
ファイル操作などで自動的にリソースを開閉したいときに使います。
with open("file.txt", "r") as f:
data = f.read()
6. クラス定義(class)
独自のデータ型や振る舞いを定義したいときに使います。
class Dog:
def bark(self):
print("ワン!")
インデントが必須になる理由
Pythonでは、コロン :
のあとに必ずインデントをつけて、ブロックの範囲を明示します。
このインデントがないと構文エラーになります。
正しい例(スペース4つ)
if True:
print("OK")
間違った例(インデントなし)
if True:
print("NG") # エラー:IndentationError
コロンを使わない構文や例外的なケース
以下のようなケースではコロンは不要です。
これらは**1行で完結する文(statement)**であり、ブロックを伴わないためです。
- 変数の代入や演算
- 関数の呼び出し
- return文、raise文、del文、import文など
x = 10
total = x + 5
greet("Alice")
return result
raise ValueError("不正な値です")
del x
import math
注意
Pythonの公式スタイルガイド PEP8 では、コロンの前にスペースを入れないことが推奨されています。
これはコードの可読性と統一性を保つためです。
まとめ
- コロン
:
は制御構文や定義文の末尾で使用する - インデントとセットでブロックを記述するのがPythonの基本
- 代入・関数呼び出し・1行文ではコロンを使わない
- スタイルガイドでは「コロンの前にスペースなし」が推奨
コロンとインデントのルールはPython特有の文法スタイルですので、慣れるまで戸惑う部分もありますが、構文が明確になることで読みやすく書きやすいと感じました。
Pythonを学び始めた方や、同じようにつまずいた方の参考になれば幸いです。