Pythonで指定した文字列を含むかどうか判定する方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonで指定した文字列を含むかどうか判定する方法について現役エンジニアが解説しています。指定した文字列を含むかどうか判定する方法には、in演算子を使う方法があります。指定した文字列が含まれるかどうか判定しtrueやfalseを返します。in演算子の書き方や使い方を解説します。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

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

 

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

 

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

 

田島悠介

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

大石ゆかり

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

田島悠介

Pythonで指定した文字列を含むかどうか判定する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 
この記事では、Pythonにおいて要素がリスト型に含まれているかを確認することのできるin演算子を使って、文字列中に指定した文字列が含まれているかどうかを判定する方法を解説します。
 

目次

 

in演算子とは

まずは、in演算子について解説します。

in演算子というのは、「所属検査演算」と呼ばれる処理を実現するための演算子です。

「所属検査演算」というのは、かんたんに言ってしまえば、リスト型、辞書型などの複数要素を持つデータ型などに対して、「ある要素が含まれているかどうか」を判定する処理のことです。

in演算子を使う場合には、

x in 変数

とすることで、変数の要素としてxが含まれているかどうかを判定し、

含まれている場合→True

含まれていない場合→False

を返します。
 

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

指定した文字列を含むかどうか判定する方法

上では、in演算子は、複数要素を持つデータ型に対して使うものとして説明しました。

この他の使い方として、文字列やバイト列についても、

文字列もしくはバイト列 in 変数

とすることで、変数の中に、in演算子で指定した文字列もしくはバイト列が含まれているかどうかを、

含まれている場合→True

含まれていない場合→False

のように判定することができます。

文字列の場合は、大文字小文字を区別して判定します。

また、もし、指定する文字列として、

""

という空文字列を選んだ場合、必ずTrueが出力されるので、注意しておいたほうが良いでしょう。
 

実際に書いてみよう

それでは、実際にコードを書いてin演算子を実行してみることで、文字列が含まれているかどうかの判定方法を確認してみましょう。

サンプルプログラムでは、”Hello World.”という文字列について、in演算子を使った判定を行なっています。

//文字列を準備
>>> str = "Hello World."

//"Wor"という部分文字列が含まれているかどうかを判定
>>> "Wor" in str
出力: True

//部分文字列には、1文字を指定することもできる
>>> "e" in str
出力: True

//in演算子は大文字と小文字を区別することを確認
>>> "h" in str
出力: False

//空文字列を指定した場合必ずTrueが出力される
>>> "" in str
出力: True

このようにすることで、文字列が含まれているかどうかの判定をin演算子で行なうことができます。

文字列の中身や、部分文字列を変更してみることで、in演算子の使い方をさらに確認してみると良いでしょう。

 

まとめ

この記事では、Pythonを使って、文字列に指定した部分文字列が含まれているかどうかを確認するin演算子を使った方法を解説しました。

コードも1行で済み、非常にシンプルな方法なので、必要なときのために使い方に慣れておくと良いでしょう。
 

監修してくれたメンター

小倉翔悟(おぐらしょうご)

AIプログラミングを使って開発を行う大学3年生。

プログラミング歴は約3年でPythonは割と得意。好きな物理理論は一般相対性理論で動物も好き。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

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

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