🐍

精読「独習Python」(制御構文)

2024/12/26に公開



独習Python
「独習Python」は、初心者から中級者までを対象に、Pythonの基礎から応用までを体系的に学べる入門書で、豊富な例題と練習問題を通じて実践的なスキルを身につけられる一冊です。

関連記事

制御構文

  • 構造化プログラミング順次[1]選択 [2]反復 [3]を組み合わせながらプログラムを組み上げていく手法

条件分岐

if命令-単純分岐

与えられた条件がTrue/Falsenいずれかであるかによって、実行すべき処理を決める命令

age = 18

if age >= 18:
    print("あなたは大人です。")
else:
    print("あなたは未成年です。")

if命令-多岐分岐

elseブロックを利用することで、多岐分岐も表現できる

age = 25

if age < 13:
    print("子ども料金です。")
elif age < 18:
    print("学生料金です。") # 最初に合致したブロックのみ実行
elif age < 60:
    print("大人料金です。")
else:
    print("シニア料金です。")

繰り返し処理

条件式がTrueの間だけ処理を繰り返すーwhile命令

count = 10
while count > 0:
    print(count)
    count -= 1
print("発射!")

リストの内容を順に処理するーfor命令

リスト/辞書などから順位要素を取り出し、決められた処理を実行する

fruits = ["apple","banana","cherry"]
for fruit in fruits:
    print(fruits)

決められた回数だけ処理を実行するーfor命令(range関数)

range関数[5]を使って指定の回数で繰り返しを実行する

for i in range(5)
    print(i)

リストから新たなリストを生成するーリスト内包表記

Pythonでリストを簡潔に生成するための強力な構文[6]

squares = [x**2 for x in range(10)]
print(squares)  # 出力: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

ループの制御

ループを中断するーbreak命令

for i in range(10):
    if i == 5:
        break
    print(i)
print("ループ終了")

現在の周回をスキップするーcontinue命令

for i in range(10):
    if i % 2 == 0: # iが偶数の場合、
        continue   # スキップして次の繰り返へ
    print(i)

ループでの終了処理を実装する

else節をwhile/for命令で利用することで、breakせずにループを終えた場合に実行する処理を書ける

for i in range(5):
    print(i)
else:
    print("ループは正常に終了しました")

例外処理

例外を処理するーtry命令

あらかじめ発生するかもしれないエラーを想定しておき、実行を継続できるように処理する、または、安全に終了させるための処理

try:
    result = 10 / 0
except ZeroDivisionError as e:
    print(f"エラーが発生しました: {e}")
except Exeption as e:
    print(f"予期しないエラーが発生しました: {e}")
else:
    # 例外が発生しなかった場合の処理
    print(f"成功しました。結果は: {result}")
finally:
    # 例外が発生したかに関わらず必ず実行される処理
    print("処理が終了しました。")

参考

https://amzn.to/41RlbuT
https://prograshi.com/language/python/suite-clause-expression-stmt/
https://xtech.nikkei.com/it/pc/article/column/20121203/1072642/

脚注
  1. 記述された順に処理を実行 ↩︎

  2. 条件によって処理を分岐 ↩︎

  3. 特定の処理を繰り返し実行 ↩︎

  4. if、for、whileなどの制御構文はすべて複合文 ↩︎

  5. Pythonで連続した整数のシーケンスを生成するために使用される組み込み関数。主にforループと組み合わせて、特定の回数だけ処理を繰り返す場合や、リストなどのシーケンスのインデックスにアクセスする場合に役立つ ↩︎

  6. リスト内包表記の構文は、[式 for 変数 in イテラブル if 条件] ↩︎

Discussion