1. はじめに
Pythonで文字列を扱う際に、「文字列の長さ(文字数)を取得する」ことは非常によくあります。文字数をカウントすることで、ユーザー入力のバリデーションやログの整形、データ処理など、さまざまな場面で活用できます。
本記事では、Pythonで文字列の長さを取得する方法について、初心者にもわかりやすく解説します。len()
関数の基本から応用的な使い方、よくあるエラーや注意点まで丁寧に紹介しますので、Python独学中の方はぜひ参考にしてください。
2. Pythonで文字列の長さ(文字数)を取得する基本
2-1. len()関数の使い方
Pythonでは、len()
関数を使って簡単に文字列の長さを取得できます。
text = "Hello, Python!"
length = len(text)
print("文字列の長さは:", length)
実行結果:
文字列の長さは: 14
上記のように、len()
関数に文字列を渡すだけで、その文字数(バイト数ではなく文字数)を取得できます。
2-2. 空文字列の長さを調べる
空の文字列(""
)の場合も、正しく0
が返されます。
empty_text = ""
print("空文字列の長さ:", len(empty_text))
実行結果:
空文字列の長さ: 0
3. よくある使い方・応用例
3-1. 入力文字数の制限チェック
ユーザーがフォームやCLIで入力した文字列が、指定した文字数を超えていないかをチェックする場面は多いです。
user_input = input("名前を入力してください(10文字以内): ")
if len(user_input) > 10:
print("エラー:10文字以内で入力してください。")
else:
print("入力ありがとうございます!")
実行結果(例):
名前を入力してください(10文字以内): Python太郎
入力ありがとうございます!
3-2. マルチバイト文字(日本語)の文字数
日本語などのマルチバイト文字列でも、len()
は正しく「文字数」を返してくれます。
jp_text = "こんにちは"
print("日本語文字列の長さ:", len(jp_text))
実行結果:
日本語文字列の長さ: 5
このように、内部的にはUnicodeとして扱われているため、見た目の文字数と一致します。
3-3. リストやタプルの長さ取得との違い
len()
関数は文字列以外にもリストや辞書などにも使えますが、「要素の数」を返すという点で共通しています。
sample_list = ["apple", "banana", "cherry"]
print("リストの要素数:", len(sample_list))
実行結果:
リストの要素数: 3
このように、len()
は汎用的に使える便利な関数です。
4. 注意点・エラー対策
4-1. 半角スペースや記号もカウントされる
len()
は「見た目」ではなく「データとしての文字数」をカウントするため、半角スペースや改行、記号も1文字として扱われます。
text = "Hello World!"
print("文字列の長さ:", len(text)) # スペースも含めてカウントされる
実行結果:
文字列の長さ: 12
4-2. None型や数値には使えない
len()
関数は文字列やコレクション型に対して使うことが前提です。数値型やNone型に対して使用するとエラーになります。
value = 123
print(len(value)) # これはTypeErrorになる
実行結果:
TypeError: object of type 'int' has no len()
このような場合には、str()
で文字列に変換してから長さを調べる必要があります。
value = 123
print("数字を文字列に変換した長さ:", len(str(value)))
実行結果:
数字を文字列に変換した長さ: 3
5. まとめ
本記事では、Pythonで文字列の長さ(文字数)を取得する方法について解説しました。ポイントをまとめると以下の通りです。
len()
関数を使えば、簡単に文字列の長さを取得できる- 日本語やスペース、記号なども正しくカウントされる
- 数値型などには直接使えないので、文字列に変換が必要
実務では、ユーザー入力のバリデーションやデータの整形などに頻繁に使われます。 文字列操作に慣れることはPython習得の第一歩でもあるので、ぜひ実際にコードを書きながら練習してみてください。