文字列の基礎
Pythonにおいて文字列は、単一引用符(')または二重引用符(")で囲まれたテキストとして定義されます。文字列はイミュータブル(不変)なデータ型であり、一度作成されると内容を変更することはできません。
文字列の基本操作
文字列は演算子を使用して操作や加工が可能です。
- 連結:
+演算子を用いて文字列同士を繋げます。 - 繰り返し:
*演算子で文字列を複製できます。 - インデックスアクセス:
str[index]で特定の文字にアクセスします。インデックスは0から始まります。 - スライス:
str[start:stop:step]構文で部分文字列を抽出します。 - 存在判定:
inやnot inキーワードを使って、特定のサブ文字列が含まれているかを確認できます。
text = "PythonCode"
print(text[0:6]) # "Python"
print("Code" in text) # True
print("Java" in text) # False
フォーマット出力
文字列内にプレースホルダーを配置し、値を埋め込むことが可能です。
%s: 文字列%d: 整数%f: 浮動小数点(%.2fで小数点以下2桁など精度指定が可能)
user = "Alice"
points = 95.5
print("ユーザー: %s, スコア: %.1f" % (user, points))
エスケープシーケンスと原始文字列
バックスラッシュ(\)は特殊な意味を持つ文字を定義するために使用されます(例: \n 改行, \t タブ)。エスケープを無効化し、そのままの文字列として扱いたい場合は、文字列の先頭に r を付けて原始文字列(raw string)として宣言します。
主要な内蔵メソッド
文字列操作を効率化するための代表的なメソッド群です。
- 数値評価:
eval()は文字列をPythonの式として評価・実行します。 - 大文字・小文字変換:
upper(),lower(),capitalize(),title()など。 - 配置とパディング:
center(),ljust(),rjust(),zfill()などを使用して、幅を指定した整形が可能です。 - 検索と置換:
find(),index()で位置を特定し、replace()で内容を書き換えます。 - 削除:
strip(),lstrip(),rstrip()で空白や指定文字を削除します。 - 分割と結合:
split()でリストへ変換し、join()でリストから文字列を生成します。 - 判定メソッド:
isalpha(),isdigit(),startswith(),endswith()など、データ検証に適したメソッドが豊富です。 - 変換:
ord()で文字からASCII/Unicodeコードポイントへ、chr()でその逆変換を行います。
data = " apple,banana,cherry "
cleaned = data.strip().split(",")
print("-".join(cleaned)) # "apple-banana-cherry"
エンコーディング
文字列は encode() メソッドを使用してバイト列へ変換でき、逆にバイト列から文字列へは decode() メソッドで復元可能です。