1. はじめに
Pythonで文字列に値を埋め込む方法はいくつかありますが、その中でも古くから使われている方法が %演算子を使った文字列の書式設定 です。
本記事では、Python|%演算子を使った文字列の書式設定 について、基本から応用まで丁寧に解説します。初心者にもわかりやすいコード例や注意点も交えながら、「%演算子」が実際の現場でどう役立つのかも紹介していきます。
この記事を読むことで、Pythonの%演算子を使って文字列に数値や文字列を埋め込む方法が身につき、スクリプトの可読性やメンテナンス性がアップします。
2. %演算子を使った文字列の書式設定の基本
2-1. %演算子とは?
Pythonにおける%演算子は、「文字列の中に値を埋め込むための書式指定子」として使用されます。C言語のprintf文と似た形式で、古くから使われている方法です。
2-2. 基本構文と例
以下のコードは、名前と年齢を%演算子で文字列に埋め込むシンプルな例です。
name = "Alice"
age = 30
print("名前は%s、年齢は%d歳です。" % (name, age))
実行結果:
名前はAlice、年齢は30歳です。
2-3. よく使う書式指定子一覧
%s
:文字列%d
:整数(decimal)%f
:浮動小数点数(float)%.2f
:小数点以下2桁まで表示
2-4. 数値の書式指定
浮動小数点数の表示を整える例です。
price = 1234.56789
print("商品の価格は%.2f円です。" % price)
実行結果:
商品の価格は1234.57円です。
3. よくある使い方・応用例
3-1. 複数の変数を埋め込む
複数の値を一度に埋め込む際は、タプルでまとめて渡します。
name = "Bob"
score = 85
subject = "数学"
print("%sさんの%sの点数は%d点です。" % (name, subject, score))
実行結果:
Bobさんの数学の点数は85点です。
3-2. パディング(桁合わせ)や右寄せ
数値の桁数を揃えて表示したい場合にも便利です。
for i in range(1, 6):
print("No.%02d" % i)
実行結果:
No.01
No.02
No.03
No.04
No.05
3-3. ログやテンプレートとして使う
ログ出力やテンプレート的な使い方もできます。
user = "田中"
action = "ログイン"
print("[%s] ユーザーが%sしました。" % (user, action))
実行結果:
[田中] ユーザーがログインしました。
4. 注意点・エラー対策
4-1. 書式とデータ型のミスマッチ
%d
に文字列を渡すなど、型が合わないとエラーになります。
# エラーになる例
print("年齢は%d歳です。" % "二十")
実行結果:
TypeError: %d format: a number is required, not str
4-2. %演算子の廃止予定と代替手段
%
による書式設定はレガシーな方法とされており、Python3では str.format()
や f-string
の使用が推奨されています。ただし、保守や古いコード対応のために知っておくと非常に役立ちます。
5. まとめ
- %演算子を使うと、簡潔に文字列へ値を埋め込める
- 書式指定子(%s, %d, %f)を正しく使えば、整った出力が可能
- f-stringが主流でも、%演算子はまだ現場で使われることがある
実務で古いコードを読むときや、学習段階で他の書式指定と比較したいときに、%演算子の知識は非常に有用です。
f-stringとの違いも今後学ぶことで、Pythonでの文字列操作の理解がさらに深まるでしょう。