Pythonの文字列操作でよく使用される`capitalize()`メソッドについて、基本的な使い方から実践的な例まで詳しく解説します。

capitalize()メソッドの基本

`capitalize()`は文字列の先頭を大文字に、残りの文字を小文字に変換するPythonの組み込みメソッドです。

text = "hello world"
result = text.capitalize()
print(result)  # Hello world

主な特徴

1. 文字列の最初の文字のみを大文字に変換

2. 残りの文字はすべて小文字に変換

3. 元の文字列は変更せず、新しい文字列を返す

具体的な使用例

基本的な使用方法

name = "john DOE"
print(name.capitalize())  # John doe

sentence = "python IS awesome!"
print(sentence.capitalize())  # Python is awesome!

数字や空白がある場合

# 数字から始まる場合
text1 = "123abc"
print(text1.capitalize())  # 123abc

# 空白から始まる場合
text2 = " hello"
print(text2.capitalize())  # " hello"

よくある間違いと注意点

1. 文章の各単語を大文字にしたい場合

`capitalize()`は最初の文字のみを大文字にします。各単語の先頭を大文字にしたい場合は`title()`メソッドを使用します。

# 誤った使用
text = "hello world"
print(text.capitalize())  # Hello world

# 正しい使用(単語ごとに大文字化)
print(text.title())  # Hello World

2. 元の文字列は変更されない

text = "hello world"
text.capitalize()
print(text)  # hello world(元の文字列は変更されていない)

# 正しい使用
text = text.capitalize()
print(text)  # Hello world

実践的な使用例

ユーザー入力の整形

user_input = input("名前を入力してください: ").capitalize()
print(f"こんにちは、{user_input}さん")

ファイル名の整形

filename = "test_file.txt"
formatted_name = filename.capitalize()
print(formatted_name)  # Test_file.txt

まとめ

  • `capitalize()`は文字列の最初の文字のみを大文字に変換
  • 残りの文字はすべて小文字になる
  • 元の文字列は変更されない(新しい文字列を返す)
  • 数字や空白から始まる場合は変更されない
  • 各単語の先頭を大文字にしたい場合は`title()`を使用

このメソッドは、ユーザー入力の整形やテキストの標準化など、様々な場面で活用できます。