Python
 Computer >> コンピューター >  >> プログラミング >> Python

【初心者向け】Pythonの文字列メソッドrjust()とljust()で右寄せ・左寄せを実現する方法

このチュートリアルでは、Pythonの文字列メソッド「rjust()」と「ljust()」について詳しく解説します。文字列の右寄せ・左寄せを行いたいときに便利なメソッドなので、それぞれの使い方を順番に見ていきましょう。

rjust(length, [fillchar])とは

rjust()メソッドは、指定した長さに合わせて文字列の先頭に埋め込み文字(fillchar)を追加し、新しい文字列を返します。引数のlengthは必須ですが、fillcharは省略可能です。

fillcharを省略した場合、デフォルトでは半角スペースが使用されます。実際に例を見てみましょう。

例:スペースで右寄せする

# 文字列を初期化
string = 'tutorialspoint'
# 全体を25文字に調整
print(string.rjust(25))

出力結果

上記のコードを実行すると、次のように先頭がスペースで埋められた文字列が出力されます。

             tutorialspoint

また、fillcharを指定することもできます。ただし、埋め込み文字は必ず1文字である必要があり、複数文字の文字列は指定できません。例を見てみましょう。

例:任意の文字で埋める

# 文字列を初期化
string = 'tutorialspoint'
# 全体を25文字に調整(#で埋める)
print(string.rjust(25, '#'))

出力結果

###########tutorialspoint

エラーになるケース

fillcharとして複数文字の文字列を指定すると、TypeErrorが発生します。

# 文字列を初期化
string = 'tutorialspoint'
# 複数文字のfillcharを指定
print(string.rjust(25, '###'))

出力結果

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-7-c5d59f29d30d> in <module>
      3
      4 # rjust -> 25
----> 5 print(string.rjust(25, '###'))
TypeError: The fill character must be exactly one character long

ljust(length, [fillchar])とは

ljust()メソッドは、rjust()メソッドと正反対の動作をするメソッドです。

ljust()メソッドは、指定した長さに合わせて文字列の末尾に埋め込み文字(fillchar)を追加し、新しい文字列を返します。引数のlengthは必須ですが、fillcharは省略可能です。

fillcharを省略した場合、デフォルトでは半角スペースが使用されます。実際に例を見てみましょう。

例:スペースで左寄せする

# 文字列を初期化
string = 'tutorialspoint'
# 全体を25文字に調整
print(string.ljust(25))

出力結果

tutorialspoint            

例:任意の文字で埋める

rjust()と同様に、ljust()でもfillcharを指定できます。こちらも1文字のみ指定可能です。

# 文字列を初期化
string = 'tutorialspoint'
# 全体を25文字に調整(#で埋める)
print(string.ljust(25, '#'))

出力結果

tutorialspoint###########

エラーになるケース

こちらも複数文字の文字列をfillcharとして指定すると、TypeErrorが発生します。

# 文字列を初期化
string = 'tutorialspoint'
# 複数文字のfillcharを指定
print(string.ljust(25, '###'))

出力結果

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-11-76fae427cc6f> in <module>
      3
      4 # ljust -> 25
----> 5 print(string.ljust(25, '###'))
TypeError: The fill character must be exactly one character long

まとめ

今回は、Pythonの文字列メソッドrjust()とljust()の使い方を学びました。

  • rjust():文字列を右寄せにし、先頭を指定した文字で埋める
  • ljust():文字列を左寄せにし、末尾を指定した文字で埋める

どちらも第1引数に全体の長さを、第2引数に任意の1文字の埋め込み文字を指定します。テーブル形式の出力やログの整形など、さまざまな場面で活用できるので、ぜひ覚えておきましょう。


  1. Pythonのstartswith()とendswith()の使い方をわかりやすく解説

    startswith()メソッドとはPythonの文字列(str)クラスには、startswith()という便利なメソッドが用意されています。このメソッドは、指定した接頭辞(プレフィックス)で文字列が始まっているかどうかを判定し、結果をTrueまたはFalseで返します。呼び出し方は以下の通りです。>>> hello world.startswith(hell) True >>> hello world.startswith(nope) False上記の例では、hello worldがhellで始まるため最初の判定はTrueとなり、nopeでは始まらないため

  2. 【Python入門】eval()関数で文字列を評価してオブジェクトを取得する方法

    Pythonには、文字列を引数として受け取り、それをPythonの式として評価する組み込み関数 eval() が用意されています。インタプリタは渡された文字列を有効なPython式として解析し、正しければ評価を実行した結果のオブジェクトを返します。eval()関数の基本的な使い方eval() の構文は以下のとおりです。eval(expression[, globals[, locals]])第一引数には評価対象の文字列を指定します。省略可能な第二・第三引数では、評価時に使用するグローバルおよびローカルの名前空間(辞書)を指定できます。算術式を含む文字列の評価最もシンプルな例が、算術式を含む文字