PYTHON MEBY

Pythonで文字列を中央寄せ・左寄せ・右寄せ(center, ljust, rjust)

この記事では、Pythonで文字列を中央寄せ、左寄せ、右寄せする方法について解説します。str.center(), str.ljust(), str.rjust()メソッドの使い方と、具体的なコード例を紹介します。

目次

文字列の寄せ

Pythonでは、str.center(), str.ljust(), str.rjust()メソッドを使用して、文字列を中央寄せ、左寄せ、右寄せすることができます。これらのメソッドは、文字列の整形に非常に役立ちます。

str.center(): 中央寄せ

str.center(width[, fillchar])メソッドは、文字列を指定された幅で中央寄せします。widthには、出力文字列の幅を指定します。fillcharは、文字列の両側に追加される埋め文字を指定し、デフォルトはスペースです。

string = "Python"
centered_string = string.center(10)
print(centered_string)  # 出力:   Python  
centered_string = string.center(10, "*")
print(centered_string)  # 出力: ***Python***

上記の例では、'Python'という文字列を幅10で中央寄せしています。最初の例では埋め文字はスペース、2つ目の例では'*'を使用しています。

str.ljust(): 左寄せ

str.ljust(width[, fillchar])メソッドは、文字列を指定された幅で左寄せします。widthには、出力文字列の幅を指定します。fillcharは、文字列の右側に追加される埋め文字を指定し、デフォルトはスペースです。

string = "Python"
left_justified_string = string.ljust(10)
print(left_justified_string)  # 出力: Python    
left_justified_string = string.ljust(10, "*")
print(left_justified_string) # 出力: Python*****

上記の例では、'Python'という文字列を幅10で左寄せしています。最初の例では埋め文字はスペース、2つ目の例では'*'を使用しています。

str.rjust(): 右寄せ

str.rjust(width[, fillchar])メソッドは、文字列を指定された幅で右寄せします。widthには、出力文字列の幅を指定します。fillcharは、文字列の左側に追加される埋め文字を指定し、デフォルトはスペースです。

string = "Python"
right_justified_string = string.rjust(10)
print(right_justified_string)  # 出力:     Python
right_justified_string = string.rjust(10, "*")
print(right_justified_string) # 出力: *****Python

上記の例では、'Python'という文字列を幅10で右寄せしています。最初の例では埋め文字はスペース、2つ目の例では'*'を使用しています。

幅指定と埋め文字

width引数で指定する幅が、元の文字列の長さ以下の場合は、元の文字列がそのまま返されます。fillchar引数には、任意の1文字の文字列を指定できます。

string = "Python"
short_string = string.center(5)
print(short_string) #出力: Python

上記の例では、幅を5に指定していますが、'Python'の長さが6のため、元の文字列が出力されます。

実践例

これらのメソッドは、テーブル形式の出力や、文字列の整形が必要な場面で非常に役立ちます。例えば、以下のように利用できます。

name = "Alice"
age = 30
print(f"名前: {name.ljust(10)}", f"年齢: {str(age).rjust(3)}") #名前と年齢を綺麗に表示

上記の例では、名前を左寄せ、年齢を右寄せして表示しています。これにより、整然とした出力を作成することができます。

関連記事