オーダーメイドコース
icon
icon

Pythonで文字列を比較する方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonで文字列を比較する方法について現役エンジニアが解説しています。Pythonで文字列が同じかどうか比較する方法として、比較演算子を使う方法やis演算子を使う方法を解説します。比較演算子、is演算子の書き方や使い方について解説します。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Pythonで文字列を比較する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

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

 

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

 

田島悠介

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

大石ゆかり

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

田島悠介

Pythonで文字列を比較する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 
この記事ではPythonで文字列を比較する方法について解説します。
 

目次

 

比較演算子を使って文字列を比較する方法

比較演算子を使って比較した場合、オブジェクト同士が等しいかどうかを判定します。

中身の値を純粋に比較して一致しているかを確認するということです。このことを等価性ともいいます。

文字列を比較演算子で比較する時は以下のように記述します

比較する文字列 == 比較する別の文字列
比較する文字列 != 比較する別の文字列

「==」を使った場合、左辺の値と右辺の値が同じだった場合はTrue、違った場合はFalseを返します。

また「!=」を使った場合、左辺の値と右辺の値が違った場合はTrue、同じ場合はFalseを返します。
 

[PR] 未経験からWebエンジニアを目指す方法とは

is演算子を使って文字列を比較する方法

is演算子を使って比較した場合、同じアイデンティーのオブジェクトを参照しているかを判定します。

値が同じであっても、別のオブジェクトを参照している場合は一致していないと判定します。このことを同一性ともいいます。

文字列をis演算子で比較する時は以下のように記述します

比較する文字列 is 比較する別の文字列
比較する文字列 is not 比較する別の文字列

「is」を使った場合、左辺のオブジェクトと右辺のオブジェクトのアイデンティティーが同じだった場合はTrue、違った場合はFalseを返します。

また「is not」を使った場合、左辺のオブジェクトと右辺のオブジェクトのアイデンティティーが違った場合はTrue、同じ場合はFalseを返します。
 

実際に文字列比較してみよう

では実際に比較演算子とis演算子を使って文字列を比較してみましょう
 

ソースコード

str01 = "こんにちは"
str02 = "こん"
str03 = str02 + "にちは"

if str01 == str02:
  print("str01とstr02は比較演算子では等しいです")
else:
  print("str01とstr02は比較演算子では等しくないです")

if str01 is str02:
  print("str01とstr02はis演算子では等しいです")
else:
  print("str01とstr02はis演算子では等しくないです")

if str01 == str03:
  print("str01とstr03は比較演算子では等しいです")
else:
  print("str01とstr03は比較演算子では等しくないです")

if str01 is str03:
  print("str01とstr03はis演算子では等しいです")
else:
  print("str01とstr03はis演算子では等しくないです")

 

実行結果

str01とstr02は比較演算子では等しくないです
str01とstr02はis演算子では等しくないです
str01とstr03は比較演算子では等しいです
str01とstr03はis演算子では等しくないです

str01とstr02は値が違うため比較演算子での比較もis演算子での比較もどちらもFalseとなります。

str01とstr03は値は等しいため比較演算子での比較はTrueですが、アイデンティティーでの比較だとstr01は「こんにちは」というオブジェクトであるのに対し、str03はstr02と「にちは」とで作成されているため比較するとFalseになります。
 

まとめ

この記事ではPythonで文字列を比較する方法について解説しました。
 

監修してくれたメンター

メンターSさん

システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。

JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。
TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

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

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