Python 条件分岐 – if文の使い方とサンプルコード

プログラミングには制御構文の代名詞でもある条件分岐。今回はPythonで条件分岐であるif文を学びましょう。

目次

条件分岐とは?

条件分岐は言葉だけだと難しく聞こえますが、読んで字のごとく、単に条件によって分かれる境目を指します。もっと簡単に言えば、「もし、○○なら、xx」の構図だと考えましょう。

ifの基本構文

まず冒頭にifと記述し、条件式、コロン(:)、インデントして命令文を書きます。ifの条件に当てはまらない場合を記述する際は、ifと同じレイヤーでelse、コロンと書き、インデントして命令文を書きます。

if 条件式:
    命令文
else:
    命令文

様々なサンプルを見た方が理解が早いので、以下ざっと例を書きました。それぞれ確認していきましょう。

テストの点数でメッセージを変える場合:

score = 30
if score >= 80:
    print('素晴らしい!')
else:
    print('勉強が全てではないよ(^^)')


勉強が全てではないよ(^^)

この例では、変数score(=点数と見立てている)の値が80以上の場合、「素晴らしい!」と表示させ、そうでない場合は「勉強が全てではないよ(^^)」と表示させるプログラムです。

次は、分岐点を今度は3つにしたい場合の例です。その場合には、elifを使用します。

score = 60
if score >= 80:
    print('素晴らしい!')
elif score >= 50:
    print('よく頑張りました!')
else:
    print('勉強が全てではないよ(^^)')

よく頑張りました!

elifの使い方はifの場合と同じです。 elifと書いたら条件式を記述し、コロン。インデントとして命令文です。上記のケースでは、80点以上は「素晴らしい!」、50点以上は「よく頑張りました!」、それ以外、つまり0から49点は、「勉強が全てではないよ(^^)」と表示させるプログラムです。

特定の値が含まれているかどうか

例えば特定のリストの中にある値が含まれていれば○○というプログラムを作りたい場合はこうなります。

food = ['タピオカ', 'たこ焼き', '鯛焼き','卵']
trend = 'タピオカ'
junk = 'ハンバーガー'

if trend in food:
    print('トレンド商品がラインナップされています。')

if not junk in food:
    print('ジャンクフードがラインナップされていません。')


トレンド商品がラインナップされています。
ジャンクフードがラインナップされていません。

例えば商品ラインナップ変数foodに現在取り扱っているフードメニューがあるとします。また、トレンド商品としてタピオカ、ジャンクフードとしてハンバーガーが設定されているとします。一つ目のif関数は変数foodの中にtrend変数のタピオカが含まれていれば、「トレンド商品がラインナップされています。」と表示せよという命令文です。

2つ目のif関数は、変数foodの中にjunk変数のハンバーガーが含まれていなければ、「ジャンクフードがラインナップされていません。」と表示せよという命令文です。いかがでしょうか、そんなに難しくはないですよね。

何か入っていればTrueを返す

また、何か変数の中に入っていればとりあえずTrueと返すif文が次の例です。

something = 'あるよ'
if something:
    print('あるね')
else:
    print('ないね')


あるね

これを次の通り、notで表現すると、「何も入っていなかったら」という条件になるので、elseを返します。

something = 'あるよ'
if not something:
    print('あるね')
else:
    print('ないね')

ないね

比較演算子と論理演算子

ここで条件式のバリエーションを増やすために、比較演算子と論理演算子について理解を深めましょう。

比較演算子

中学生の頃に習ったあれです。

種類 記号
等しい ==
等しくない !=
>
未満 <
以上 >=
以下 <=
含む in

論理演算子

同様に中学で習ったベン図ですね。

種類 記号+例 返り値
aもbも満たす  a and b  True もしくは False
a または bを満たす a or b  True もしくは False
aを満たさない not a  True もしくは False

if関数で論理演算子を用いた際の文脈では、TrueもしくはFalseの場合に命令文が実行されるという構図です。

  • URLをコピーしました!

Writer

TIERは、Global、DX、HRの3軸により 大手企業から中小企業、民間企業から行政まで、海外展開に必要なサービスをワンストップで支援しております。海外マーケティングセールスからデジタルマーケティング、多言語サイトや越境ECサイト制作等の海外向けクリエイティブ制作、グローバル人材採用支援まで幅広く対応しております。お気軽にお問い合わせください。

目次