この章では、Pythonの制御フローについて学びます。制御フローは、プログラムの実行順序を制御するために使用されます。具体的には、条件分岐やループの使い方を理解することで、プログラムがどのように実行されるかをコントロールできるようになります。
4.1 if-else文による条件分岐
if-else
文は、条件に基づいて異なるコードを実行するために使われます。Pythonのif
文では、条件がTrue
の場合にコードブロックが実行されます。
基本的な構文
if 条件:
# 条件がTrueの場合に実行されるコード
else:
# 条件がFalseの場合に実行されるコード
例:if-else文
age = 20
if age >= 18:
print("あなたは成人です。")
else:
print("あなたは未成年です。")
この例では、age
が18以上の場合に「あなたは成人です。」と表示され、それ以外の場合には「あなたは未成年です。」と表示されます。
4.2 elif文による複数条件の分岐
elif
(else if)を使うことで、複数の条件を設定し、それぞれに異なるコードを実行することができます。これは、複数の分岐が必要な場合に便利です。
基本的な構文
if 条件1:
# 条件1がTrueの場合に実行されるコード
elif 条件2:
# 条件2がTrueの場合に実行されるコード
else:
# 条件1と条件2がどちらもFalseの場合に実行されるコード
例:elif文
score = 75
if score >= 90:
print("評価: A")
elif score >= 80:
print("評価: B")
elif score >= 70:
print("評価: C")
else:
print("評価: D")
この例では、score
の値に応じて、異なる評価を表示します。
4.3 switch文の代替: 辞書を使った分岐
Pythonにはswitch
文がありませんが、辞書(dictionary
)と関数を使って、似たような動作を実現できます。
例:辞書を使った代替
def case1():
return "ケース1"
def case2():
return "ケース2"
def default_case():
return "デフォルトケース"
switch_dict = {
1: case1,
2: case2
}
choice = 1
result = switch_dict.get(choice, default_case)()
print(result)
この例では、choice
に基づいて関数が選択され、結果が表示されます。get
メソッドの第二引数は、choice
が辞書に存在しない場合のデフォルト値です。
4.4 ループ処理
ループは、同じコードを複数回実行するために使われます。Pythonには、for
ループとwhile
ループの2種類のループがあります。
forループ
for
ループは、指定された範囲やコレクション内の要素に対して反復処理を行います。
for 変数 in コレクション:
# 繰り返し実行されるコード
例:forループ
numbers = [1, 2, 3, 4, 5]
for num in numbers:
print(num)
この例では、リストnumbers
の各要素に対してループが実行され、それぞれの要素が表示されます。
whileループ
while
ループは、条件がTrue
の間、コードを繰り返し実行します。
while 条件:
# 条件がTrueの間、実行されるコード
例:whileループ
count = 0
while count < 5:
print(count)
count += 1
この例では、count
が5未満の間、count
の値が表示され、ループごとにcount
が1ずつ増加します。
4.5 break, continue, return文の使い方
break
文: ループを強制的に終了します。continue
文: ループの残りの処理をスキップし、次のイテレーションに移ります。return
文: 関数内で使用され、関数の実行を終了し、値を返します。
例:break文とcontinue文
for i in range(10):
if i == 5:
break # ループを終了する
if i % 2 == 0:
continue # 偶数の場合は次のループに進む
print(i)
この例では、i
が5に達したときにループが終了し、i
が偶数のときはそのイテレーションをスキップして次のループに進みます。
4.6 goto文とラベルの適切な使い方
Pythonには、他の言語にあるようなgoto
文がありません。Pythonの設計理念として、コードの可読性や構造化を重視しているため、goto
のような制御の飛び先を指定する文は推奨されていません。
その代わりに、関数やループ、条件分岐を効果的に使うことで、スパゲッティコードになるのを防ぐことが重要です。
まとめ
この章では、Pythonにおける制御フローの基本を学びました。条件分岐、ループ、break
やcontinue
の使い方を理解することで、より柔軟で効果的なプログラムを書けるようになります。次の章では、メソッドとスコープについて詳しく見ていきます。