· Fuga578 · Python基礎  · 7 min read

Python の print と f-string 完全ガイド — 文字列出力と書式設定

Pythonの print() と f-string の使い方を、初心者がつまずきやすいポイント込みで整理。end / sep / 桁揃え / 小数点・ゼロ埋め・日付フォーマットまで。

Pythonの print() と f-string の使い方を、初心者がつまずきやすいポイント込みで整理。end / sep / 桁揃え / 小数点・ゼロ埋め・日付フォーマットまで。

Pythonで「画面に文字を出す」と言えば print()。シンプルに見えて、実は地味に奥が深い関数です。

この記事では、print() の基本から、f-string を使った見やすい書式設定までを、初心者がつまずきやすいポイント込みで整理します。

print() はカッコの中に渡したものを画面に表示します。

print("Hello, World!")
print(42)
print(3.14)
Terminal
Hello, World!
42
3.14

文字列でも数値でも、何でも表示できます。

複数の値をまとめて出す

print() はカンマ区切りで複数の値を渡せます。間にはスペースが入ります。

name = "サクヤ"
age = 17
print("名前:", name, "年齢:", age)
Terminal
名前: サクヤ 年齢: 17

区切り文字を変える: sep=

スペース以外で区切りたいときは sep= を指定します。

print("apple", "banana", "cherry", sep=" / ")
Terminal
apple / banana / cherry

末尾の改行を変える: end=

print() は末尾に自動で改行を入れます。これを変えたいときは end= を使います。

print("読み込み中", end="")
print("...", end="")
print("完了")
Terminal
読み込み中...完了

f-string で書式を整える

print() で値を埋め込むときの定番が f-string (フォーマット文字列リテラル) です。文字列の前に f を付けると、{} の中に変数や式を埋め込めます。

name = "サクヤ"
age = 17
print(f"私は {name}{age}歳です")
Terminal
私は サクヤ、17歳です

式を埋め込む

{} の中には、変数だけでなくも書けます。

print(f"1 + 2 = {1 + 2}")
print(f"半径3の円の面積は {3.14 * 3 ** 2}")
Terminal
1 + 2 = 3
半径3の円の面積は 28.26

小数点の桁数を指定: :.Nf

数値の小数点以下の桁数を揃えたいときは :.Nf を使います。

pi = 3.141592653589793
print(f"円周率: {pi:.2f}")     # 小数点以下2桁
print(f"円周率: {pi:.5f}")     # 小数点以下5桁
Terminal
円周率: 3.14
円周率: 3.14159

桁揃え (右寄せ・左寄せ・中央)

表のように整列させたいときに便利です。

print(f"|{'apple':<10}|")    # 左寄せ、幅10
print(f"|{'apple':>10}|")    # 右寄せ、幅10
print(f"|{'apple':^10}|")    # 中央寄せ、幅10
Terminal
|apple     |
|     apple|
|  apple   |

ゼロ埋め

数字を「001」「002」のように左を 0 で埋めたいときは :0Nd

for i in range(1, 6):
    print(f"No.{i:03d}")
Terminal
No.001
No.002
No.003
No.004
No.005

カンマ区切り (3桁ごとの ,)

大きな数字に3桁ごとのカンマを入れる書式は :,

revenue = 12345678
print(f"売上: {revenue:,} 円")
Terminal
売上: 12,345,678 円

パーセント表示

:.N% で割合をパーセント表示。

rate = 0.872
print(f"進捗: {rate:.1%}")
Terminal
進捗: 87.2%

日付のフォーマット

datetime オブジェクトもf-stringで整形できます。

from datetime import datetime
now = datetime.now()
print(f"今は {now:%Y年%m月%d日 %H:%M:%S} です")
Terminal
今は 2026年05月02日 14:30:45 です

デバッグに便利な = 記法 (Python 3.8+)

f-stringの中で 変数名= と書くと、「変数名=値」の形で出力してくれます。デバッグ出力でめちゃくちゃ便利です。

x = 10
y = 20
print(f"{x=}, {y=}, {x + y=}")
Terminal
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(値)、複数値は , 区切り、sep end で挙動を調整
  • 値を埋め込むなら f-string (f"...")
  • 書式は :.2f (小数桁) / :>10 (桁揃え) / :, (カンマ) / :% (パーセント)
  • デバッグ時は print(f"{x=}") がおすすめ

f-string をマスターするとコードがぐっと読みやすくなります。普段の print から、ちょっとずつ書式を試してみてください。

Back to Blog

Related Posts

View All Posts »