Pythonの制御構造:if文・forループ・whileループ

python logo notext.svg

Pythonでは、プログラムの流れを制御するために「制御構文」が用意されています。これにより、条件によって処理を分けたり、同じ処理を繰り返したりすることができます。本記事では、if文・forループ・whileループといった基本的な制御構文について解説します。

Pythonの導入についてはこちら。

Python入門:最初のプログラムを作って実行する方法 – Lean Data Office

Python環境構築のやり方|初心者向け完全ガイド – Lean Data Office

if文

最初はif文です。

これはとてもシンプルです。例えば a = True として、

image

と書くと、「a」がTrueのときだけ表示されます。もし a = False にすると、何も表示されません。

image

ここで重要なのはインデント(字下げ)です。コロン(:)の後にインデントされた行は、if文に属する処理になります。つまり、インデントされたコードは、aがTrueのときだけ実行されます。

下のコードでは、

a = False
if a:
    print('It is true')
    print('Also print this')
print('Always print this')

aがFalseであれば、ifのブロック外に配置したprintだけが表示されていることがわかります。

image
a = True

とすると、すべて表示されることも確認できます。

image

また、else を使うことで分岐もできます。

a = True
if a:
    print('It is true')
    print('Also print this')
else:
    print('It is false')
print('Always print this')

この場合、aがTrueなら上、Falseなら下が実行されます。Pythonではこのインデントがプログラムの構造を決める非常に重要な要素です。

image
image

さらに、条件は入れ子にすることもできます。

a = True
b = True
if a:
    print('It is true')
    print('Also print this')
    if b:
        print('Both are true')
else:
    print('It is false')
print('Always print this')
image

さらに増やすと:

a = True
b = True
c = True
if a:
    print('It is true')
    print('Also print this')
    if b:
        print('Both are true')
        if c:
            print('All three are true')
else:
    print('It is false')
print('Always print this')
image

このように深くネストできますが、あまり複雑になると読みづらくなります。

forループ

その問題を避けるために使われるのがループ(繰り返し処理)です。

まずはforループです。forループは「イテラブル」と呼ばれるデータ(例:リスト)を順番に処理します。

image

ここでの「in」は、「順番に取り出す」というfor文の構文の一部です。

また、item という名前は自由に決められる変数です。

whileループ

次にwhileループです。

image

これは「条件がTrueの間、繰り返す」処理です。

ここで重要なのは:

a = a + 1

この行がないと、aの値が変わらず、条件がずっとTrueになってしまい、無限ループになります(0を永遠に出力し続ける)。

whileループは、条件が変化していく場合に使うのが適しています。

if文は条件によって処理を分けるための基本的な構文です。forループはリストなどの要素を順番に処理する際に便利であり、whileループは条件が満たされている間処理を繰り返します。これらの制御構文を組み合わせることで、複雑な処理も効率よく記述できます。基礎をしっかり理解して使いこなすことが、プログラミング力向上の鍵となります。

筋トレとオートメーションが趣味。 モバイルアプリ個人開発者。 データ処理・可視化とレポートにハマり備忘録と情報共有のためにブログ開設し運営している。