if文で複数条件を指定する方法が知りたい
複数の条件式を指定する方法が知りたい
プログラミングをする上で条件によって処理を分岐するためにはif文を使用します。if文は最も基本的な処理の1つで使用頻度が高く、さまざまなプログラミング言語で使用されます。
この記事ではif文の使い方を手っ取り早く知りたい方のために、以下の内容について解説していきます。
- if文とは
- if文の使い方
- 比較演算子とは
- 複数の条件式を使ったif文
プログラミングを行う上で、if文は使用頻度が高いので使い方をしっかりと理解しておく必要があります。if文について初心者でもわかるように解説していますので、ぜひ参考にしてください。
本記事を読む前に、Pythonがどんなプログラミング言語なのかをおさらいしておきたい人は次の記事を参考にしてください。
→ Pythonとは?特徴やできること、活用例をわかりやすく簡単に解説
なお、その他のPythonの記事についてはこちらにまとめています。
Pythonのif文とは
if文はプログラムの中で条件分岐を書きたいときに使う文です。条件分岐は以下のような場合に、YESかNOで表すことができます。
- あなたは20歳以上ですか? yes/no
- 1~10の数字の中に素数はありますか? yes/no
つまりif文は、与えられた条件が、
- True(ここでいうYES)であるか?
- False(ここでいうNO)であるか
を確認します。YESとNOでの表し方は、プログラムではTrue(もしくは1)、False(もしくは0)と表します。if文を使った条件分岐は、プログラミングそのものの基本的な考え方の一つになります。
しっかりと覚えておきましょう!
Pythonのif文の使い方3つのパターン
では実際にif文の使い方について見ていきましょう。この章では、以下について解説をしていきます。
- if文の基本的な使い方
- if elseの使い方
- if elifの使い方
if文の基本
if文の基本的な構文はこのようになります。
if [条件式]: [条件式がTrueのときに行う処理]
これがif文を書くときの基本的な形になります。if文はTrueかFalseの値を持つ条件式と一緒に書きます。この条件式がTrueのときにif文のブロック(インデントが下がっている部分)に書かれた処理を実行します。
サンプルコードとして、計算の結果が0以上であるかを条件式として使うコードを見てみましょう。
x = 5 if x * 2 >= 0: print("条件を満たしています!")
実行結果
条件を満たしています!
条件式は論理演算子や比較演算子で計算されて、その式はTrueかFalseを返します。比較演算子についてはあとの章で詳しく解説します!
if else
先程のサンプルコードは、条件式がTrueになるときのみの処理を用意しました。今度はTrueのときだけでなく、条件式がFalseになったときに動く処理を追加しましょう。
条件を満たさなかったときの処理を書くには、elseを使います。elseを使った基本的な構文はこのようになります。
if [条件式]: [条件式がTrueのときに行う処理] else: [条件式がFalseのときに行う処理]
elseは条件式を持ちません。elseの上のif文がFalseになったときだけ、elseブロックを実行してくれます。続いて、こちらのサンプルコードを見てみましょう。
x = -3 if x * 2 >= 0: print("条件を満たしています!") else: print("条件を満たしていません。")
実行結果
条件を満たしていません。
実行結果ではif文の条件式がFalseなので、「条件を満たしていません。」と出ていますね。そしてif文のブロックに書かれているprint関数は実行されず、elseのブロックのみが実行されていることがわかります。
if elif
if文の条件には引っかからなかったけど、別の条件に当てはまったらelseとは別の処理がしたい。といったときはどうするのでしょうか。これはelifで実現できます。
他のプログラミング言語では、「else if」という書き方をすることもあります。elifの基本的な構文について、確認しましょう。
if [条件式1]: [条件式がTrueのときに行う処理] elif [条件式2]:
[elifの条件式2がTrueのときに行う処理]
else: [if文の条件式1もelifの条件式2もどちらもFalseのときに行う処理]
使い方はif文のときとほぼ変わらず、条件式を持つことができます。こちらのサンプルコードを見てみましょう。
x = 200 if x == 100: print('x = 100') elif x == 200: print('x = 200') elif x > 0: print('x = 300') elif x == 0: print('x = 400') else: print('条件を満たしていません')
実行結果:
x = 200
xの値は200なので、ここでは「x == 200」の条件式に一致して処理を実行しています。elifはif文の後、elseの前に挟まれるように書くことに注意しましょう。
elseがない場合は、すべてがFalseの場合の処理が実行されないということなので、何も変化は起きません。
比較演算子の使い方
ここからは条件式で使われる様々な比較演算子を見ていきましょう。この章では以下の内容について解説をしていきます。
- 比較演算子について
- 「!=」「is not」を使ったif文
比較演算子とは
比較演算子とは先程見た「>=」のような左右(左辺と右辺)を比較をする演算子になります。様々な比較演算子を使い分けることで比較できるものの幅がとても広がります。
また、比較演算子以外にも論理演算子を使って、論理積や論理和をとることも出来ます。詳しくはこちらの記事で解説されていますのでぜひご覧ください!
「!=」と「is not」を使ったif文
ここからは「!=」と「is not」を使ったif文についてを見ていきましょう。「!=」と「is not」はそれぞれ、「==」と「is」の否定に対応する書き方です。まずは「!=」を使ったif文について見てみましょう。
x = 100 y = 200 if x != y: print("xとyは別の値です。") else: print("xとyは同じ値です。")
実行結果
xとyは別の値です。
このようにxとyが別の値になるとき、条件式「x != y」はTrueになります。あくまでも、if文はTrueのときだけ働くことに気をつけましょう。
次に、「is not」を使ったif文について見てみましょう。
x = 100 y = 200 if x is not y: print("xとyは別の値です。") else: print("xとyは同じ値です。")
実行結果
xとyは別の値です。
このように、一見すると「if x is not y」と「if x != y」は同じような動作をしているように見えます。
しかし実は「is not」と「!=」は全く違う機能になります。これは簡単に言うと、
- 「is not」は同じオブジェクトなのかを見ている(→別のオブジェクトのときTrue)
- 「!=」は同じ値なのかを見ている(→別の値であるときTrue)
となります。
複数の条件式をつなげてif文を書く方法
if文の条件式は複数つなげて書くことも出来ます。最終的にTrueかFalseを返せばいいのですから、複数の条件式をand(かつ) / or(または)でつなげてみましょう。二つ以上の条件式をつなげるには and演算子やor演算子を使います。
and演算子を使った基本的な構文
if [条件式A] and [条件式B]: #条件式Aと条件式BがどちらもTrueのときTrue [Trueのときの処理]
or演算子を使った基本的な構文
if [条件式A] or [条件式B]: #条件式Aと条件式BのどちらかがTrueのときTrue [Trueのときの処理]
条件式を複数つなげて書くことでより複雑な条件を作ることができます。and / orなどの詳しい使い方についてはこの記事をご覧ください。
このままPythonを学び続けて大丈夫?
なぜPythonを学ぶのか?
あなたがPythonを学ぶ理由は何でしょうか?
- Pythonが人気だからとりあえず学んでいる
- AIや機械学習の分野に興味があるから
Pythonは初心者向けの言語と言われています。その理由としてシンプルでわかりやすい構文や、実用的なライブラリが豊富なことが挙げられ、実際に学びやすい言語です。
しかし、もしあなたが機械学習に興味があって、とくに知識も無いまま学習を進めると、挫折する可能性が高いと言えます。
機械学習の分野はプログラミング以外にも、専門的な知識や数学の知識も必要になります。ただなんとなく学習していると早い段階でつまづきやすく、そのまま挫折してしまうなんてことも…。
そのため、挫折しないためには、
- 最適な学習環境を用意する
- 必要なライブラリ・ツールを導入する
- わからないことを質問できるメンターを見つける
などが必要になります。
まとめ
この記事ではif文の使い方について、特にif文の条件式に注目して解説しました。
- if文とは
- if文の使い方
- 比較演算子とは
- 複数の条件式を使ったif文
if文の中で分岐を作るにはelse、elifが必要になること、条件を満たさないときには「!=」、「is not」を使うことを覚えておきましょう。また論理演算子を使いこなすと複雑な条件式を作ることが出来ます。
Pythonのif文の使い方を忘れたら、またこの記事を読み直してみてください!
なお、Pythonをいままさに学習中の方は以下の記事も合わせて読んでみてくださいね。
Pythonでできることや、学習法などをまとめています!
【Python入門完全攻略ガイド】