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)}") #名前と年齢を綺麗に表示
上記の例では、名前を左寄せ、年齢を右寄せして表示しています。これにより、整然とした出力を作成することができます。
関連記事
- Pythonで文字列をフォーマット(format, f文字列 (Python 3.6以降), %演算子)
- Pythonで文字列を分割(split, rsplit, splitlines)
- Pythonで文字列を検索(find, rfind, index, rindex)
- Pythonで文字列を置換(replace, translate, re.sub)
- Pythonで文字列の大文字・小文字を変換(upper, lower, capitalize, title, swapcase)
- Pythonで文字列がアルファベットかどうか判定(isalpha, isalnum)
- Pythonで文字列が数値かどうか判定(isdigit, isdecimal, isnumeric)
- Pythonで文字列の先頭と末尾が特定の文字列か判定(startswith, endswith)
- Pythonで文字列をエンコード・デコード(encode, decode)
- Pythonで文字列をスライスで部分抽出