Pythonのif文の使い方を解説!演算子もおさらい

19/01/06 14:35:13     19/01/14 19:13:50

Pythonのif文

Pythonのif文の基本的な使い方について解説します。

条件記述の基本と合わせて比較演算子、論理演算子についてもおさらいしていきます。if文はなるべくシンプルに書いた方が良いので演算子は基本的なものを簡単に使えれば問題ありませんが、世の中にはif文にややこしい条件設定をしているプログラムも存在します。

なるべくいろんなパターンを把握しておいた方が人のコードを読むときに便利なので、if文の書き方や演算子を覚えるというよりは理解して把握しておくと良いかと思います。

Python関連記事

Pythonのif文の使い方

if文は多くのプログラミング言語の基本概念で、Pythonでも例外ではありません。プログラミング言語によってif文の書き方は微妙に異なりますが、Pythonではどのように記述するのでしょう。さっそくサンプルコードで紹介します。

if 1 + 1 == 2:
    print('1 + 1 == 2のようです。')

上記のサンプルコードを実行すると、次のように出力されます。

1 + 1 == 2のようです。

ただしこのような実装の仕方をすることは少なく、多くの場合変数を条件式に入れます。if文に直接数値や文字列を書くと判定文の意味がないので、上記の例はあくまでも使い方を覚えるためのもので実用的ではありません。

変数を使ったif文は以下のようになります。

x = 1
y = 2
z = 3
if x + y == z:
    print('変数を使ったif文')

このコードを実行すると、次のように出力されます。

変数を使ったif文

この例でもまだ実用的ではないのですが、変数を使っているという点で少し実践的なプログラムに近づきました。上の例では変数に直接数値を代入していますが、これをユーザー入力等にすればif文のメリットを活かせます。

文字列も同様に判定できます。

if 'password' == 'password':
    print('true')

これで「true」が出力されます。

基本的にはif文の条件がtrueならif文の中の処理が実行され、falseだと実行されないというシンプルなコードです。

elseの使い方

if文とセットで使われるのがelse文です。上で紹介したサンプルコードはいずれもif文があれば中の処理が実行され、そうでない場合処理がそのまま終わる構造になっていました。

しかし、if文の条件に当てはまらなかった場合の処理を用意したい場合も多いでしょう。そんなとき役立つのがelseです。

if文がfalseだったとき、実行してほしい処理をelseの中に記述します。サンプルコードは以下です。

x = 1
y = 3

if x + y == 3:
    print('true')
else:
    print('false ')

上記のコードを実行すると「false」と出力されます。なぜなら、if文の計算結果は4となりfalseになるからです。if文がfalseになるとelse文の方が実行されるため、「false」と出力されました。

elifの使い方

ifとelseを使えばif文がtrueのときとfalseのときで処理を分けることができますが、これだと条件が一つしか設定できません。二つ以上の条件を設定したい場合、elifを使用します。具体的には以下のサンプルコードのようになります。

from weather import Weather, Unit

weather = Weather(unit=Unit.CELSIUS)
location = weather.lookup_by_location('tokyo')
data = location.condition
data_set = data.text
print('本日の天気:', data_set)

if data_set == 'Sunny':
    print('Sunny ')

elif data_set == 'Rain':
    print('Rain ')

else:
    print('天気不明')

上記のコードを実行すると、data_setに入った文字列が二回出力されます。たとえば、天気が晴れだった場合以下のようになります。

本日の天気:Sunny
Sunny

また晴れの日同様雨の日も判定し、その場合もRainと出力します。if文にもelif文にも当てはまらない場合、else文が実行されます。

「if !==」の使い方

if文の条件式というよりは比較演算子の問題ですが、「if !=」で条件分岐することも可能です。具体的には以下のようになります。

a = 2
if a !== 1
    print(‘1ではありません’)

if notの使い方

if notも!==同様の使い方ができます。サンプルコードは以下です。

str = "apple"
if not str == "orange":
    print("true")
else:
    print("false")

変数にはappleが入っており、orangeではないので、trueとなります。書き方としては間違えやすいのでなるべく避けた方が良いですが、このような使い方をする場合もあるので、知っておいた方が良いでしょう。

また、andやorでつないでif文を複数行にすることも可能です。if文というよりは比較演算子を把握しておけば使いこなせるので、紹介しておきます。

Pythonの比較演算子と論理演算子

if文の条件を設定する際に使えるので、Pythonの比較演算子と論理演算子を紹介しておきます。

比較演算子
==  a == b bがaに等しい
!=   a != b   bがaに等しくない
>    a > b    bよりaが大きい
>=  a >= b  bよりaが大きいか等しい
<    a < b  bよりaが小さい
<=  a <= b  bよりaが小さいか等しい

論理演算子
and   a and b  aとbが共に真の場合に真
or   a or b  aかbの少なくとも1つが真の場合に真
not    not a   aが真の時に偽、偽の時に真

あまり条件をややこしくすると分かりにくいため、論理演算子を使うよりはif文をネストしたり、条件が多い場合はwhile文を使用することが多いかと思います。

プログラミングは基本的にシンプルイズベストなので、上記の比較演算子と論理演算子については把握しておいた方が良いものの、なるべくならあまり多くは使わないようにすると良いでしょう。

また数学ではないので、複雑な条件式を読み解く必要もありません。重要なのは全体のロジックです。ちなみに比較演算子と論理演算子で数値比較するif文を一応紹介しておくと以下のようになります。

age= 25
if age > 10 and age < 30:
    print "age is between 10 and 30"

年齢が11歳~29歳かどうかを判定するロジックです。実際のシステムでもこのようなロジックは用いられています。

たとえば保険やクレジットカードのネット申し込みでは年齢条件が設定されている場合がありますが、ソースコードを見ると上記のように意外とシンプルに作られていたりします。

以上Pythonのif文について複数のパターンを紹介しましたが、Pythonはif文の書き方がシンプルであることがお分かりいただけたかと思います。特に難しい点はなく、一見複雑なプログラムであっても落ち着いてトレースすればそれほど難しくはありません。

条件分岐は繰り返しと並んでアルゴリズムの基本かつ重要なものなので、今把握しておけば今後ソースコードの意味が分からない、書けない、といったことはないでしょう。

Python関連記事
1,【Pythonのフリーランス求人・案件情報】エンジニア開発単価は?未経験でもいける?
2,Pythonでできることとは?人工知能で強みを発揮!
3,Pythonのインストール方法をまとめてみた
4,Pythonプログラミングに便利なAnacondaとは?機能やPycharmとの違いを解説
5,PythonでAnacondaをインストールする方法から実際の使い方までを解説
6,Pythonの配列を徹底解説!宣言や追加・削除など
7,Pythonのif文の使い方を解説!演算子もおさらい(この記事)
8,Pythonのfor文の使い方を配列で解説!breakやrangeの使い方もこれでOK
9,Pythonのlambda(ラムダ式)の使い方を徹底解説します
10,Pythonの高階関数map/filterの便利な使い方
11,Pythonでclassをどう使う?技術顧問に聞いてみた!

人気記事

編集部おすすめ記事

この記事を読んだ人はこんな記事を読んでいます

案件探しやフリーランスになるための相談する