1. トップ
  2. Python
  3. Python if文を初心者でも理解!知っておきたい知識とは?

Python if文を初心者でも理解!知っておきたい知識とは?

Python if文を使えば、「Aの時は〇をする。Bの時は××をする。」といったような条件分岐を作ることができます。

本記事では、プログラミング言語Pythonif文について、Python初心者向けに解説。Python if文の基本的な書き方に加えて、論理演算子についても紹介しています。

Python if文は、Python学習の中でも基本の1つなので、ぜひ最後まで読んで、Python if文の基本を理解してください。

Python if文でどんなことができる?

if文は条件によって処理を分岐させたい場合に使用します。例えば、次のような条件分岐が考えられるでしょう。

  • 条件式:年齢は18歳未満か?
  • 年齢が18歳未満の場合はAの処理(True
  • 年齢が18歳以上の場合はBの処理(False

条件式に合致するものが真(True)、合致しないものが偽(False)となり、プログラミングにおける条件分岐は真偽で判定を行います。複数の条件をもたせたい場合は、条件式を増やして対応できます。

Python if文の基本的な書き方

プログラミング言語Pythonにおけるif文の基本的な書き方を見ていきましょう。

※true(真)やfalse(偽)についての解説は以下で行います。

Pythonでは、条件式の後に「:」が付くことに注意しましょう。

また、2つ目以降の条件式はPython以外のプログラミング言語では、「else if」などと記述することもありますが、Pythonでは「elif」と記述するので注意が必要です。

条件式に記述する頻繁に利用する論理記号(比較演算子)の意味については、以下の表をご覧ください。

論理記号(比較演算子) 条件
== 等しい
!= または <> 等しくない
>= 以上
より大きい
<= 以下
より小さい(未満)

以上がプログラミング言語Pythonにおけるif文の基本的な書き方です。

 

Python if文の具体例を解説!

Python if文の具体例はどのようになるのでしょうか。具体的なソースコードと結果をご紹介します。

【結果】

まず、ソースコードの1行目で、aという変数に15が代入されています。

そして、ソースコードの2行目で、 aが10よりも大きいかを比較します。今回は、a=15であるため10よりも大きくなります。

したがって、「if a > 10」の部分は正しい(真、trueと言います)ので、ソースコードの3行目の処理が実行されるというわけです。

もし、a=10の場合は、ソースコードの4行目がtrue(真)なので、「print(“aは10です”)」というプログラムが実行されます。

aが10に等しいことを表す場合には、「=」が2つ付いて「==」となることに注意してください。

a=3など、aが10未満の場合は、「a > 10」にも「a == 10」にも該当しないので、「else:」以下の処理が実行されて、「aは10未満です」と表示されます。

次の章からは、Python if文における論理演算子というものを学習して、知識をさらに増やしていきましょう。

 

Python if文で使える論理演算子(and/or/not)をマスターしよう

Pythonでは論理演算子としてand(論理積)、or(論理和)、not(否定)の3種類が利用できます。論理演算子とは、真偽値(True/False)に対して行う演算を表す記号です。

言葉だけでは分かりづらいと思いますので、具体例を含めてみていきましょう。

論理演算子使い方意味
and(論理積) A and B AとBの両方がTrueの場合のみTrue、それ以外はFalse
or(論理和) A or B AかBのどちらかがTrueの場合にTrue、どちらもFalseの場合はFalse
not(否定) not A AがTrueの場合はFalse、Falseの場合はTrue

論理演算子は複数の条件式を組み合わせる時に利用するものであり、「かつ(and)」「または(or)」「ではない(not)」という条件を追加したい場合に利用できます。

例えば、「Aさんの年齢が20歳以上【かつ】40歳未満」や「Aさんの年齢が15歳以上【または】女性である」といったような条件を作りたい場合に利用可能です。論理演算子を理解すれば複雑な条件もしてきるようになるため、ぜひマスターしておきましょう。

続いて、具体的なPythonコードの記述に関して解説していきましょう。

Python if文:and(論理演算子)

Python if文における論理積andは次のように利用します。

andより左の条件式とandより右の条件式が共にtrue(真)であるときに全体の評価がtrue(真)となります。

以下が論理積andの例です。

【結果】

まず、ソースコード1行目でxという変数に20が代入されています。

2行目のif文の条件式の意味は「xが10よりも大きい【かつ】xが40よりも小さい」です。

xは10よりも大きく40よりも小さいため、2つの条件式を共に満たしています。したがって全体の評価はtrue(真)となり、「True」が出力されます。

もし、x=50などの場合は、「x>10」の1つ目の条件式ではtrue(真)ですが、「x<40」の2つ目の条件式はfalse(偽)になり、全体の評価はfalse(偽)です。

よって結果はelse以下の処理が実行されて、「False」が出力されます。

Python if文:or(論理演算子)

Python if文における論理和orは次のように利用します。

論理和orは、どちらかの一方の条件式がtrue(真)であれば全体の評価がtrue(真)になります。

以下が論理和orの例です。

【結果】

まず、ソースコード1行目で、変数xに20が代入されています。

2行目のif文の意味は「xが30よりも小さい【または】xが60よりも大きい」です。

xは30よりも小さい(true)ですが、60よりも大きくありません(false)。

論理和orは、少なくともどちらか一方の条件式がtrue(真)であれば全体の評価がtrue(真)になります。

よって、今回は「True」が出力されました。

なお、xが50の場合は、30よりも大きく(false)、60よりも小さい(false)ため、全体の評価はfalse(偽)になります。

Python if文:not(論理演算子)

Python if文における否定notは次のように利用します。

否定notは、もとの条件式の真偽を反転します。つまり、notを利用する場合は条件式がfalse(偽)となる場合に全体的な評価がtrue(真)となるのです。

以下が否定notの例です。

【結果】

まず、ソースコード1行目で、変数xに50が代入されています。

2行目のif文の意味は「xが30以下【ではない】」です。

この例の場合、xは50であるため「x <= 30」の判定式の結果はfalse(偽)ですが、否定notが付くことで真偽が反転して全体的な評価はtrue(真)となります。

そのため、「True」が出力されます。

 

複数の条件式を使った条件分岐をPython ifなら一文で書ける?

Pythonのif文の使い方について、もう少し複雑な書き方についても触れておきましょう。Pythonには三項演算子と呼ばれる書き方があり、これはif-elif-elseを1行で記載できる書き方です。

三項演算子の基本的な使い方は次のとおりです。

elifまでを含めようとする場合は、「条件式が偽のときに実行される処理」に三項演算子を追加します。言葉だけでは分かりづらいと思いますので、具体例を見ていきましょう。

この一般的なif文を三項演算子で書き直すと、次のとおりです。

さらに、elifを含む場合は次のように記載します。

三項演算子の場合はelifをそのまま利用できず、最初の条件式で偽となったあとに再度条件式を記載するイメージで利用します。

三項演算子はif文が一行にまとまるため簡単なif文であれば活用しやすいでしょう。しかし、elifを含むような少しでも複雑なif文の場合は、逆に可読性が落ちる可能性が高いため、利用する際には注意が必要です。

 

いかがでしたか?

プログラミング言語Pythonのif文についての解説は以上になります。Python if文は文法の中でも基本の1つですので、本記事で紹介した論理演算子も含めて、必ず理解しておきましょう。

エンジニアに役立つ目的別講座

Pythonの基本~応用をマスター

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

現役シリコンバレーエンジニアが教えるPython入門講座。Python3の基本を取得できます。

Webサイトのコーディングができるように

ウェブ開発入門完全攻略コース - プログラミング をはじめて学び創れる人へ!未経験から現場で使える開発スキルを習得!
ウェブ開発入門完全攻略コース - プログラミング をはじめて学び創れる人へ!未経験から現場で使える開発スキルを習得!

HTML, CSS, Bootstrap, JavaScript, MySQL, Ruby, Ruby on Rails, AWS Cloud9, Git, GitHubを用いたWebアプリケーション開発の方法を総合的に学べます。

AWSを基礎から学ぶ

これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(SAA-C02試験対応版)
これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座(SAA-C02試験対応版)

AWSの基本資格「AWS 認定ソリューションアーキテクト – アソシエイト試験」を合格を目指し、そのための知識や経験を獲得できるように!

ITプロジェクトの資料作成はお任せ!

手を動かして学ぶITプロジェクトの資料作成!システム開発のドキュメンテーション技術と成果物テンプレート
手を動かして学ぶITプロジェクトの資料作成!システム開発のドキュメンテーション技術と成果物テンプレート

ITプロジェクトの資料作成を学べる人気講座。フェーズ毎に、どんな資料を作ればいいのか悩んでいる人におすすめ。