Pythonでは文字列操作において、`format()`メソッドを使用して文字列を柔軟に整形することができます。このメソッドを使うことで、変数の値を文字列に埋め込んだり、数値のフォーマットを指定したりすることが可能です。
基本的な使い方
`format()`メソッドの最も基本的な使い方は、波括弧`{}`をプレースホルダーとして使用することです。
name = "太郎"
age = 25
print("私の名前は{}で、{}歳です。".format(name, age))
# 出力: 私の名前は太郎で、25歳です。インデックスを指定する方法
プレースホルダー内に数字を指定することで、引数の順序を自由に変更できます。
print("{1}は{0}です。".format("赤", "りんご"))
# 出力: りんごは赤です。キーワード引数を使用する方法
名前付き引数を使用することで、より明確な指定が可能です。
print("私は{color}が好きで、{food}をよく食べます。".format(color="青", food="寿司"))
# 出力: 私は青が好きで、寿司をよく食べます。数値のフォーマット
小数点以下の桁数や、整数部分の表示形式を指定できます。
# 小数点以下2桁まで表示
pi = 3.14159
print("{:.2f}".format(pi)) # 出力: 3.14
# 3桁区切りのカンマ
number = 1000000
print("{:,}".format(number)) # 出力: 1,000,000文字列の配置と幅指定
文字列の幅や配置を制御することができます。
# 左寄せ(幅10文字)
print("{:<10}".format("左")) # 出力: "左 "
# 中央寄せ(幅10文字)
print("{:^10}".format("中央")) # 出力: " 中央 "
# 右寄せ(幅10文字)
print("{:>10}".format("右")) # 出力: " 右"よくあるエラーと解決方法
1. インデックスエラー
# エラー例
print("{0}{1}".format("A")) # IndexError
# 正しい使用法
print("{0}{1}".format("A", "B"))2. キーワード引数の不足
# エラー例
print("{name}さん".format()) # KeyError
# 正しい使用法
print("{name}さん".format(name="太郎"))f文字列(Python 3.6以降)
Python 3.6以降では、より簡潔なf文字列を使用することもできます。
name = "花子"
age = 30
print(f"私の名前は{name}で、{age}歳です。")
# 出力: 私の名前は花子で、30歳です。`format()`メソッドは柔軟な文字列整形を可能にする強力なツールです。適切に使用することで、読みやすく保守性の高いコードを書くことができます。特に複雑な文字列操作や、動的なフォーマットが必要な場合に重宝します。