Python文字列操作の基礎
Pythonでは文字列は 変更できない(immutable) データ型です。
つまり、一度作った文字列の内容を直接変更することはできませんが、新しい文字列を作る操作は簡単にできます。
1. 文字列の連結(結合)
複数の文字列をつなげたいときは + を使います。
a = "Hello"
b = "World"
c = a + b
print(c) # HelloWorld
# 空白を入れたい場合
c = a + " " + b
print(c) # Hello World
Python💡 ポイント: + は文字列同士でしか使えません。整数などは文字列に変換する必要があります。
2. 文字列の繰り返し
同じ文字列を繰り返すときは * を使います。
s = "Hi"
print(s * 3) # HiHiHi
Python3. 文字列の長さ
文字列の長さを知りたいときは len() を使います。
s = "Python"
print(len(s)) # 6
Python4. 文字列のインデックスとスライス
文字列の各文字には 位置番号(インデックス) があり、0から始まります。
s = "Python"
print(s[0]) # P(先頭)
print(s[-1]) # n(最後の文字)
Pythonスライスで部分文字列を取得
print(s[0:3]) # Pyt(0〜2文字目まで)
print(s[2:]) # thon(2文字目以降)
print(s[:4]) # Pyth(先頭から3文字目まで)
print(s[::-1]) # nohtyP(逆順)
Python💡 ポイント: s[start:end] は start から end-1 までの範囲を取得します。[::-1] は文字列を逆順にするテクニックです。
5. 文字列の置換
文字列の一部を置き換えるときは .replace() を使います。
text = "Hello World"
new_text = text.replace("World", "Python")
print(new_text) # Hello Python
# 複数文字を一括で置換
text2 = "a-b-c-d"
print(text2.replace("-", "/")) # a/b/c/d
Python💡 ポイント: .replace(old, new) は新しい文字列を返すだけで、元の文字列は変わりません。
6. 文字列の分割と結合
分割
fruits = "apple,banana,cherry"
fruit_list = fruits.split(",")
print(fruit_list) # ['apple', 'banana', 'cherry']
Python結合
joined = "/".join(fruit_list)
print(joined) # apple/banana/cherry
Python💡 ポイント: split() は文字列をリストに変換、join() はリストを文字列に変換します。
7. 大文字・小文字変換
s = "python"
print(s.upper()) # PYTHON
print(s.lower()) # python
print(s.title()) # Python(単語の頭文字を大文字)
Python8. 部分文字列の確認
文字列に特定の文字や単語が含まれているかを確認できます。
s = "Hello World"
print("Hello" in s) # True
print("Python" not in s) # True
Python9. 例題
"Python"の文字列を逆順にして大文字にして表示してみましょう。
s = "Python"
print(s[::-1].upper()) # DLROW NOHTYP(逆順+大文字)
Python"2025-11-05"を"05/11/2025"の形式に変換してみましょう。
date = "2025-11-05".split("-")
formatted = f"{date[2]}/{date[1]}/{date[0]}"
print(formatted) # 05/11/2025
Python💡 まとめ
+と*で連結・繰り返し[ ]と[start:end]で文字や部分文字列を取得.replace()で置換、.split()/join()で分割・結合.upper()/.lower()/.title()で大文字小文字変換in/not inで部分文字列チェック- 文字列は変更不可なので、操作はすべて新しい文字列を作る形になる
