Pythonのand演算子について現役エンジニアが解説【初心者向け】

初心者向けにPythonのand演算子について現役エンジニアが解説しています。and演算子とは論理演算子の一つで、if文などの条件分岐において複数の条件を使用したい場合に使用します。and演算子の書き方や使い方、or演算子との比較について解説します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Pythonのand演算子について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonのand演算子について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

and演算子とは

Pythonにおいてand演算子とは論理演算で使用する論理演算子になります。

具体的には、if文などの条件分岐において複数の条件を使用したい場合に使用します。

and演算子は論理演算において、論理積の役割を持っておりすべての条件が揃う場合のみTrueになる役割をもっています。
 

[PR] Pythonで挫折しない学習方法を動画で公開中

and演算子の使い方

それでは、簡単なif文の文法を用いてand演算子の使い方について紹介します。

まずは、条件が一つしかないシンプルな条件分岐の場合は以下のような文法になります。

if 条件式:
  条件式の結果がTrueの場合の処理
else :
  条件式の結果がFalseの場合の処理

and演算子を使用して複数の条件を設定する場合は、以下のような文法になります。

if 条件式① and 条件式②:
  条件式①の結果がTrueかつ条件式②の結果もTrueの場合の処理
else:
  条件式①/条件式②の結果のどちらか一つでもFalseだった場合の処理

このように、and演算子を使用して複数の条件式を設定することができます。

また、and演算子は論理積の役割を果たすので全ての条件式の結果がTrueの場合のみ、if文のTrueの処理が実行されます。
 

and演算子とor演算子の比較

and演算子と同様によく使われる論理演算子にor演算子があります。

or演算子は論理演算において、論理和の役割を持っておりどれか一つでも条件が揃う場合はTrueになる役割をもっています。
 

and演算子とor演算子の比較表

論理演算子 条件式① 条件式② 論理演算結果
and演算子 True True True
True False False
False False False
or演算子 True True True
True False True
False False False

 

実際に使ってみよう

それでは、Pythonのand演算子についてサンプルコードを参考に実際に使ってみましょう。

今回は、比較表で示した2つの条件式での3パターン全ての実行結果を確認するプログラムを作成していきます。
 

サンプルコード

# 条件①と条件②のデータを用意
data1 = [True,True,False]
data2 = [True,False,False]

# for文を使用して3回ループ
for i in range(3):
  # if文を使用してand演算子の実行結果を出力
  if data1[i] == True and data2[i] == True:
    # 条件①条件②どちらも条件式の結果がTrueの場合の処理
    print('条件①>>',data1[i],', 条件②>>',data2[i],', 論理演算結果>>',True)

  else:
    # 条件①条件②どちらも条件式の結果のどちらか一つでもFalseだった場合の処理
    print('条件①>>',data1[i],', 条件②>>',data2[i],', 論理演算結果>>',True)

 

実行結果

条件①>> True , 条件②>> True , 論理演算結果>> True
条件①>> True , 条件②>> False , 論理演算結果>> True
条件①>> False , 条件②>> False , 論理演算結果>> True

 

解説

コード2-3行目では、条件①と条件②で使用するデータをリストで用意しています。

コード6行目以降は、for文を使用して3回ループ処理を行っています。

コード8行目では、if文とand演算子を使用して条件①と条件②の条件式の設定を行っています。

※for文の変数iを使用して、事前に用意したリストのインデックスを指定して要素を取り出しています。

コード10行目では、and演算子を使った論理演算の結果がTrueの場合の結果を出力しています。

コード14行目では、and演算子を使った論理演算の結果がFalseの場合の結果を出力しています。

実行結果では、比較表と同じ内容の論理演算結果が出力されている事が確認できます。
 

※補足

コード8行目のand演算子をor演算子に書き換える事で、or演算子での実行結果を確認する事もできます。
 

まとめ

今回は、Pythonのand演算子について紹介しました。

プログラムの基本である条件分岐を使ってより高度なコーディングをする為に、とても重要な内容になっていますので、今回の記事を参考に理解を深めていってください。

また今回使用しているfor文のループ処理の中でリストの要素をインデックスで取り出す手法も覚えてしまうととても便利で、様々な場面で使用できるので併せてマスターしてみましょう。
 

監修してくれたメンター

菅繕久(すがよしひこ)

現在はフリーランスのエンジニアをしていてプログラミング歴は8年目になります。

普段は Python、FileMaker等を使って様々な業務で活用できるIoTプロダクトRPAツールを作成しています。
開発実績としては、業務自動化ツール(在庫管理・発注・ファイル操作 etc)、電子カルテシステム、ロボット用プログラムなどがあります。
TechAcademyではPythonコースを担当しております。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。