スライドショー

【Python if文の基本編】条件分岐を3つのステップで簡単理解

Pythonのif文の使い方が知りたい
if文で複数条件を指定する方法が知りたい
複数の条件式を指定する方法が知りたい

プログラミングをする上で条件によって処理を分岐するためにはif文を使用します。if文は最も基本的な処理の1つで使用頻度が高く、さまざまなプログラミング言語で使用されます。

この記事ではif文の使い方を手っ取り早く知りたい方のために、以下の内容について解説していきます。

  • if文とは
  • if文の使い方
  • 比較演算子とは
  • 複数の条件式を使ったif文

プログラミングを行う上で、if文は使用頻度が高いので使い方をしっかりと理解しておく必要があります。if文について初心者でもわかるように解説していますので、ぜひ参考にしてください。

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文

比較演算子とは

比較演算子とは先程見た「>=」のような左右(左辺と右辺)を比較をする演算子になります。様々な比較演算子を使い分けることで比較できるものの幅がとても広がります。

また、比較演算子以外にも論理演算子を使って、論理積や論理和をとることも出来ます。詳しくはこちらの記事で解説されていますのでぜひご覧ください!

【Python入門】今更聞けない!if else文の使い方まとめ
更新日 : 2018年10月24日

「!=」と「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 if文の応用編】or・and・not演算子の使い方を理解しよう
更新日 : 2019年7月31日

このままPythonを学び続けて大丈夫?

なぜPythonを学ぶのか?

あなたがPythonを学ぶ理由は何でしょうか?

  • Pythonが人気だからとりあえず学んでいる
  • AIや機械学習の分野に興味があるから

Pythonは初心者向けの言語と言われています。その理由としてシンプルでわかりやすい構文や、実用的なライブラリが豊富なことが挙げられ、実際に学びやすい言語です。

しかし、もしあなたが機械学習に興味があって、とくに知識も無いまま学習を進めると、挫折する可能性が高いと言えます。

機械学習の分野はプログラミング以外にも、専門的な知識や数学の知識も必要になります。ただなんとなく学習していると早い段階でつまづきやすく、そのまま挫折してしまうなんてことも…。

そのため、挫折しないためには、

  • 最適な学習環境を用意する
  • 必要なライブラリ・ツールを導入する
  • わからないことを質問できるメンターを見つける

などが必要になります。

効率よく学びたいなら、無料体験レッスンがおすすめ

このままPythonを学び続けていいのかな…
まだまだ知りたいことがたくさんある!
もっと詳しくPythonについて知りたい!

といった悩みや願望を持っている方は、弊社「侍エンジニア塾」をご利用下さい。

侍エンジニア塾では、

  • 現役エンジニアによるマンツーマンレッスン
  • キャリアアドバイザーによる転職・就職支援
  • 業界屈指のフリーランス・起業サポート

を受けることができます。

業界屈指のコンサルタントから、効率的な学習方法や仕事獲得術、今後のキャリアまでさまざまな疑問を相談してみませんか?遠方の方でもオンラインで受講できます!お気軽に受講下さい。

侍エンジニア塾
無料体験レッスンを受ける

まとめ

この記事ではif文の使い方について、特にif文の条件式に注目して解説しました。

  • if文とは
  • if文の使い方
  • 比較演算子とは
  • 複数の条件式を使ったif文

if文の中で分岐を作るにはelse、elifが必要になること、条件を満たさないときには「!=」、「is not」を使うことを覚えておきましょう。また論理演算子を使いこなすと複雑な条件式を作ることが出来ます。

Pythonのif文の使い方を忘れたら、またこの記事を読み直してみてください!

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

フクロウ

フクロウ

第一言語はPythonです。
皆さんRustやりましょう。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説