このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Python入門】メソッドを使って文字列を操作する

メソッドを使って文字列を操作する

 Pythonプログラミングにおいて、メソッド(method)は、オブジェクトに対する操作を効率的に行うための重要な機能です。メソッドは関数に似ていますが、特定のオブジェクトに紐づいており、そのオブジェクトを操作するために呼び出されます。
 文字列型(strクラス)のメソッドを活用することで、文字列の変換や検索、検証など、さまざまな操作を簡単に行うことができます。ここでは、Pythonの文字列メソッドについて、具体的な例や表を用いてわかりやすく解説します。

プログラムのダウンロード

 「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。

1.メソッドとは

 メソッドとは、オブジェクトに関連付けられた関数のことです。メソッドを使用することで、オブジェクトの状態を変更したり、オブジェクトに対する特定の操作を実行したりすることができます。Pythonでは、ドット (.) 演算子を使用してオブジェクトのメソッドを呼び出します。

ポイント

  • メソッドは特定のオブジェクトに関連付けられている。
  • オブジェクトの状態を変更したり、操作を実行するために使用される。
  • ドット演算子を使用してメソッドを呼び出す。

2.文字列のメソッド一覧

 Pythonの文字列型(strクラス)には、文字列を操作するための多くのメソッドが用意されています。以下の表は、代表的な文字列メソッドとその機能をまとめたものです。

メソッド名機能
upper()文字列を全て大文字に変換する。
lower()文字列を全て小文字に変換する。
startswith()文字列が指定した接頭辞で始まるかどうかを判定する。
endswith()文字列が指定した接尾辞で終わるかどうかを判定する。
replace()指定した部分文字列を別の文字列に置き換える。
split()文字列を指定した区切り文字で分割してリストにする。
join()リストなどのシーケンスを指定した文字列で結合する。
find()文字列内で指定した部分文字列の最初の位置を検索する。
count()文字列内で指定した部分文字列の出現回数を数える。
strip()文字列の先頭と末尾から指定した文字を削除する。

ポイント

  • 各メソッドは特定の文字列操作を効率的に行うために設計されている。
  • メソッドは新しい文字列を返す場合が多く、元の文字列は変更されない(イミュータブルな性質)。

3.基本的な文字列メソッドの使い方

 ここでは、文字列の大文字化と小文字化、接頭辞と接尾辞の確認を行うメソッドについて具体的な例を見ていきます。

3.1. 文字列を大文字にする (upper メソッド)

upper メソッドを使用すると、文字列の全ての文字を大文字に変換した新しい文字列を取得できます。

サンプルプログラム

# 文字列を大文字に変換する例
greeting = "good morning"
uppercase_greeting = greeting.upper()
print(uppercase_greeting)  # 出力: GOOD MORNING

出力結果

GOOD MORNING

3.2. 文字列を小文字にする (lower メソッド)

lower メソッドを使用すると、文字列の全ての文字を小文字に変換した新しい文字列を取得できます。

サンプルプログラム

# 文字列を小文字に変換する例
shout = "HELLO WORLD"
lowercase_shout = shout.lower()
print(lowercase_shout)  # 出力: hello world

出力結果

hello world

3.3. 文字列が指定した接頭辞で始まるか確認する (startswith メソッド)

startswith メソッドを使用すると、文字列が指定した接頭辞で始まるかどうかを判定できます。

サンプルプログラム

# 接頭辞の確認例
filename = "report.pdf"
print(filename.startswith("rep"))   # 出力: True
print(filename.startswith("doc"))   # 出力: False

出力結果

True
False

3.4. 文字列が指定した接尾辞で終わるか確認する (endswith メソッド)

endswith メソッドを使用すると、文字列が指定した接尾辞で終わるかどうかを判定できます。

サンプルプログラム

# 接尾辞の確認例
filename = "summary.docx"
print(filename.endswith(".docx"))   # 出力: True
print(filename.endswith(".pdf"))    # 出力: False

出力結果

True
False

4.文字列メソッドの応用例

 メソッドを組み合わせることで、より複雑な文字列操作を行うことができます。以下にいくつかの応用例を示します。

4.1. 部分文字列の置き換え (replace メソッド)

replace メソッドを使用すると、文字列内の指定した部分文字列を別の文字列に置き換えることができます。

サンプルプログラム

# 部分文字列の置き換え例
sentence = "I love apples."
new_sentence = sentence.replace("apples", "oranges")
print(new_sentence)  # 出力: I love oranges.

出力結果

I love oranges.

4.2. 文字列の分割と結合 (splitjoin メソッド)

split メソッドを使用して文字列を分割し、join メソッドを使用してリストを結合する例です。

サンプルプログラム

# 文字列の分割と結合例
fruits = "apple,banana,cherry"
fruit_list = fruits.split(",")
print(fruit_list)  # 出力: ['apple', 'banana', 'cherry']

joined_fruits = "; ".join(fruit_list)
print(joined_fruits)  # 出力: apple; banana; cherry

出力結果

['apple', 'banana', 'cherry']
apple; banana; cherry

4.3. 文字列内の部分文字列の検索とカウント (findcount メソッド)

 find メソッドと count メソッドを使用して、文字列内の部分文字列の位置と出現回数を調べる例です。

サンプルプログラム

# 部分文字列の検索とカウント例
text = "banana bandana"
position = text.find("ana")
count = text.count("ana")
print(position)  # 出力: 1
print(count)     # 出力: 2

出力結果

1
2

5.メソッドのチェーン呼び出し

 メソッドの戻り値を使って、別のメソッドを連続して呼び出すことができます。これにより、複数の操作を一行で実行することが可能です。

サンプルプログラム

# メソッドチェーンの例
message = "  Hello Python  "
processed_message = message.strip().upper().replace("PYTHON", "WORLD")
print(processed_message)  # 出力: HELLO WORLD

出力結果

HELLO WORLD

ポイント

  • メソッドチェーンを使用すると、コードを簡潔に記述できる。
  • 各メソッドは新しい文字列を返すため、元の文字列は変更されない。

6.メソッドを使って文字列を操作する方法のまとめ

特徴説明
メソッドの基本構文文字列.メソッド名(引数, ...)
大文字・小文字変換upper()lower() を使用して文字列を変換する。
接頭辞・接尾辞の確認startswith()endswith() を使用して確認する。
部分文字列の置き換えreplace() を使用して部分文字列を置き換える。
文字列の分割と結合split()join() を使用して文字列を操作する。
部分文字列の検索とカウントfind()count() を使用して部分文字列を検索・カウント。
メソッドチェーン複数のメソッドを連続して呼び出し、効率的に操作する。

ポイント

  • メソッドを活用することで、文字列操作が効率的かつ簡潔に行える。
  • 各メソッドは新しい文字列を返し、元の文字列は変更されないため、データの安全性が保たれる。
  • メソッドチェーンを利用することで、複数の操作を一行で実行できる。

まとめ

ここででは、Pythonにおけるメソッドを使って文字列を操作する方法について学びました。

  • メソッドとは:オブジェクトに関連付けられた関数で、特定の操作を実行する。
  • 基本的な文字列メソッドupper()lower()startswith()endswith() など。
  • 応用的な文字列操作replace()split()join()find()count() などのメソッドを組み合わせた操作。
  • メソッドチェーンの活用:複数のメソッドを連続して呼び出し、効率的に文字列を処理する方法。
  • まとめ表:主要な文字列メソッドとその機能を比較。

 これらの知識を基に、Pythonプログラム内で文字列を柔軟かつ効果的に操作・取得することができるようになります。次のコンテンツでは、メソッドの戻り値に対して別のメソッドを呼び出す方法について、さらに詳しく解説していきます。ぜひ、実際にコードを書きながら、メソッドを活用した文字列操作方法を体験して理解を深めてください。