· Fuga578 · Python基礎 · 7 min read
Python の print と f-string 完全ガイド — 文字列出力と書式設定
Pythonの print() と f-string の使い方を、初心者がつまずきやすいポイント込みで整理。end / sep / 桁揃え / 小数点・ゼロ埋め・日付フォーマットまで。

Pythonで「画面に文字を出す」と言えば print()。シンプルに見えて、実は地味に奥が深い関数です。
この記事では、print() の基本から、f-string を使った見やすい書式設定までを、初心者がつまずきやすいポイント込みで整理します。
print() の基本
print() はカッコの中に渡したものを画面に表示します。
print("Hello, World!")
print(42)
print(3.14)Hello, World! 42 3.14
文字列でも数値でも、何でも表示できます。
複数の値をまとめて出す
print() はカンマ区切りで複数の値を渡せます。間にはスペースが入ります。
name = "サクヤ"
age = 17
print("名前:", name, "年齢:", age)名前: サクヤ 年齢: 17
区切り文字を変える: sep=
スペース以外で区切りたいときは sep= を指定します。
print("apple", "banana", "cherry", sep=" / ")apple / banana / cherry
末尾の改行を変える: end=
print() は末尾に自動で改行を入れます。これを変えたいときは end= を使います。
print("読み込み中", end="")
print("...", end="")
print("完了")読み込み中...完了
f-string で書式を整える
print() で値を埋め込むときの定番が f-string (フォーマット文字列リテラル) です。文字列の前に f を付けると、{} の中に変数や式を埋め込めます。
name = "サクヤ"
age = 17
print(f"私は {name}、{age}歳です")私は サクヤ、17歳です
式を埋め込む
{} の中には、変数だけでなく式も書けます。
print(f"1 + 2 = {1 + 2}")
print(f"半径3の円の面積は {3.14 * 3 ** 2}")1 + 2 = 3 半径3の円の面積は 28.26
小数点の桁数を指定: :.Nf
数値の小数点以下の桁数を揃えたいときは :.Nf を使います。
pi = 3.141592653589793
print(f"円周率: {pi:.2f}") # 小数点以下2桁
print(f"円周率: {pi:.5f}") # 小数点以下5桁円周率: 3.14 円周率: 3.14159
桁揃え (右寄せ・左寄せ・中央)
表のように整列させたいときに便利です。
print(f"|{'apple':<10}|") # 左寄せ、幅10
print(f"|{'apple':>10}|") # 右寄せ、幅10
print(f"|{'apple':^10}|") # 中央寄せ、幅10|apple | | apple| | apple |
ゼロ埋め
数字を「001」「002」のように左を 0 で埋めたいときは :0Nd。
for i in range(1, 6):
print(f"No.{i:03d}")No.001 No.002 No.003 No.004 No.005
カンマ区切り (3桁ごとの ,)
大きな数字に3桁ごとのカンマを入れる書式は :,。
revenue = 12345678
print(f"売上: {revenue:,} 円")売上: 12,345,678 円
パーセント表示
:.N% で割合をパーセント表示。
rate = 0.872
print(f"進捗: {rate:.1%}")進捗: 87.2%
日付のフォーマット
datetime オブジェクトもf-stringで整形できます。
from datetime import datetime
now = datetime.now()
print(f"今は {now:%Y年%m月%d日 %H:%M:%S} です")今は 2026年05月02日 14:30:45 です
デバッグに便利な = 記法 (Python 3.8+)
f-stringの中で 変数名= と書くと、「変数名=値」の形で出力してくれます。デバッグ出力でめちゃくちゃ便利です。
x = 10
y = 20
print(f"{x=}, {y=}, {x + y=}")x=10, y=20, x + y=30
旧スタイル: % と .format()
f-stringが登場する前は、% 演算子や .format() メソッドが使われていました。古いコードで見かけることもあります。
# 古いスタイル (% 演算子) — Python 2 時代から
print("私は %s、%d歳" % ("サクヤ", 17))
# .format() メソッド — Python 3 で導入
print("私は {}、{}歳".format("サクヤ", 17))
# 現代の書き方 (f-string)
name, age = "サクヤ", 17
print(f"私は {name}、{age}歳")すべて結果は同じですが、新しく書くなら f-string で統一しておけば OK です。
よくあるつまずき
まとめ
- 基本は
print(値)、複数値は,区切り、sependで挙動を調整 - 値を埋め込むなら f-string (
f"...") - 書式は
:.2f(小数桁) /:>10(桁揃え) /:,(カンマ) /:%(パーセント) - デバッグ時は
print(f"{x=}")がおすすめ
f-string をマスターするとコードがぐっと読みやすくなります。普段の print から、ちょっとずつ書式を試してみてください。


