Python: 文字列を右寄せ・左寄せ・中央寄せにする

Pythonでは文字列の前後にスペースを埋め込んで、 右寄せ・左寄せ・中央寄せにして見やすくすることが可能です。 その場合 rjust()、ljust()、center()メソッドを使います。

メソッド機能
rjust()右寄せ
ljust()左寄せ
center()中央寄せ

書式

3つのメソッドの書式は次の通りです。

書式
文字列.rjust(文字数[, 埋める文字]

文字列.ljust(文字数[, 埋める文字]

文字列.center(文字数[, 埋める文字]
第1引数で文字数(文字幅)を指定します。 スペース以外の文字を埋めたい場合は第2引数で指定します。

サンプルコード

rjust()、ljust()、center()を使ったサンプルコードです。 表示がわかりやすいように、埋める文字に「"-"」を指定しています。

s = "abcd"

print(s.rjust(10, "-"))

print(s.ljust(10, "-"))

print(s.center(10, "-"))

# 実行結果
------abcd
abcd------
---abcd---

指定した文字数(文字幅)の方が小さい場合

元々の文字列の文字数よりも、指定した文字数(文字幅)の方が小さい場合、 元々の文字列がそのまま表示されます。 特にエラーとはなりません。

s = "abcd"

print(s.rjust(2, "-"))

print(s.ljust(2, "-"))

print(s.center(2, "-"))

# 実行結果
abcd
abcd
abcd

center()で左右不均等の場合

cente()で中央揃えにする場合、 元々の文字列の文字数や指定した表示幅によっては、 左右均等にならないこともあります。 その場合どうなるのかを検証してみます。

s = "abc"

print(s.center(6, "-"))

print(s.center(8, "-"))

# 実行結果
-abc--
--abc---

上の結果からわかるように 左右不均等の場合、埋め込む文字は左側が少なくて右側が多くなります。

Python