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