Pythonでは、文字列や数値を右揃え(right alignment)する方法がいくつかあります。
右揃えは、出力を整形して見やすくしたいときや、表形式の出力をするときによく使われます。
ここでは、代表的な方法を以下の観点で解説します。
目次
方法1:str.rjust()
メソッド
文字列型 (str
) に対して使えるメソッドです。
s = "Python"
print(s.rjust(10)) # 幅10で右揃え
出力
Python
概要
rjust(width, fillchar=' ')
:width
: 最終的な文字列の幅(指定の桁数)fillchar
: 埋める文字(デフォルトはスペース)
例:ゼロ埋めで右揃え
print("42".rjust(5, '0')) # 出力: 00042
方法2:format()
メソッド(旧式フォーマット)
num = 42
print("{:>5}".format(num)) # 幅5で右揃え
出力
42
フォーマット構文の解説
{}
:中括弧で埋め込み:>
:右揃え(Left:<
, Center:^
)5
:全体の幅を指定
ゼロ埋めの例
print("{:>05}".format(42)) # 出力: 00042
方法3:f文字列(f-string, Python 3.6以降)
より直感的に書けるのが f"..."
形式です。
name = "Alice"
print(f"{name:>10}") # 幅10で右揃え
出力
Alice
数値の右揃えとゼロ埋め
score = 85
print(f"{score:>5}") # スペースで右揃え → ' 85'
print(f"{score:0>5}") # ゼロで右揃え → '00085'
方法4:str.zfill()
(数値文字列を0埋め右揃え)
str.zfill(width)
は、数値を文字列として右揃えゼロ埋めします。
n = "42"
print(n.zfill(5)) # 出力: 00042
注意点: zfill()
は負の数も考慮します。
n = "-42"
print(n.zfill(5)) # 出力: -0042
方法5:print()
+ str.format()
+ 表形式出力(実践例)
例えば、複数データの一覧を右揃えにして見やすく整える例です。
data = [("Alice", 23), ("Bob", 8), ("Charlie", 105)]
for name, score in data:
print(f"{name:>10} | {score:>5}")
出力
Alice | 23
Bob | 8
Charlie | 105
まとめ

方法 | 特徴 | Pythonバージョン |
---|---|---|
str.rjust() | 文字列用。簡単だが数値整形にはやや不便 | 全バージョン |
format() | 柔軟な整形が可能。古いがまだ有用 | Python 2.6+ |
f-string | 可読性・直感性に優れ、推奨される現代的な方法 | Python 3.6+ |
str.zfill() | 数値文字列をゼロ埋めで右揃え | 全バージョン |
補足
数値型(int
, float
)は、直接的な右揃えメソッドは持っていません。
整形するには、文字列として表示するときに右揃えを施す必要があります。
例
from IPython import get_ipython
from IPython.display import display
n = 123
print(f"{n:>6}") # 文字列として右揃えして出力
print("Text".rjust(10))
# Text # Remove this line
print("123".rjust(10))
# 123 # Remove this line
print(format(42, ">10"))
# 42 # Remove this line
- 表示を整えるだけならf-stringまたはformatで十分です。
- ファイル出力やレポート作成では、桁揃え(padding)がデザイン品質を大きく左右します。
以上、Pythonで文字列や数値を右揃えする方法についてでした。
最後までお読みいただき、ありがとうございました。