Pythonは、インデント(字下げ)を用いてコードの構造を示します。インデントは、コードブロックを形成するために不可欠であり、構文の一部として機能します。ここでは、インデントとコードブロックの重要性について学び、実際にサンプルコードを使って理解を深めましょう。
Pythonでは、インデントによりコードの階層を示します。例えば、関数や条件文、ループなどの内部にあるコードは、インデントを使って示します。インデントを適切に使用しないと、SyntaxError(文法エラー)が発生します。
以下に、インデントを使用した条件文と関数の例を示します。
def greet(name):
if name:
print(f"こんにちは、{name}さん!")
else:
print("こんにちは、ゲストさん!")
greet("太郎")
greet("")
def greet(name):
- greet
という名前の関数を定義しています。引数name
を受け取ります。if name:
- name
が空でない場合、次の行を実行します。この行もインデントされています。print(f"こんにちは、{name}さん!")
- name
が空でない場合に実行されるコードです。この部分はif
文のブロックに属します。else:
- name
が空の場合に実行されるコードブロックの始まりです。こちらもインデントされています。print("こんにちは、ゲストさん!")
- else
のブロックに属するコードです。次に、インデントを用いたループの例を見てみましょう。
for i in range(5):
print(f"カウント: {i}")
print("ループが終了しました。")
for i in range(5):
- 0から4までの数をカウントするループを開始します。print(f"カウント: {i}")
- 各ループの中で、現在のカウント値を表示します。この行はfor
ループのブロックに属します。print("ループが終了しました。")
- ループが終了した後に実行されるコードです。この部分はループの外にあり、インデントされていません。最後に、条件文とループを組み合わせたネストされたコードブロックの例を示します。
def count_and_greet(names):
for name in names:
if name:
print(f"こんにちは、{name}さん!")
else:
print("こんにちは、ゲストさん!")
names_list = ["太郎", "", "花子"]
count_and_greet(names_list)
def count_and_greet(names):
- 複数の名前を受け取る関数を定義します。for name in names:
- names
リスト内の各名前に対するループを開始します。if name:
- 各名前が空でないかをチェックします。この行はfor
ループのブロック内にあり、さらにネストされています。print(f"こんにちは、{name}さん!")
- name
が空でない場合に実行されるコードです。else:
- name
が空の場合に実行されるコードブロックの始まりです。print("こんにちは、ゲストさん!")
- else
のブロックに属するコードです。Pythonでは、インデントを用いることでコードの構造を明確に示します。条件文やループなど、さまざまな状況でインデントを活用することが重要です。正しいインデントを使用することで、可読性が高く、エラーの少ないコードを書くことができます。今後の学習においても、インデントに注意を払いながらコーディングしていきましょう。