Python のスペースで文字列を埋める

Vaibhhav Khetarpal 2023年1月30日
  1. Python で ljust() 関数を使用して文字列の右端にスペースを埋め込む
  2. Python で rjust() 関数を使用して文字列の左端にスペースを埋め込む
  3. Python で center() 関数を使用して文字列の両端にスペースを埋め込む
  4. Python でモジュラス (%) 演算子を使用した文字列フォーマットを使用して文字列にスペースを埋め込む
  5. Python で str.format() 関数で文字列フォーマットを使用して文字列にスペースを埋め込む
  6. Python で f-strings を使用した文字列フォーマットを使用して文字列にスペースを埋め込む
Python のスペースで文字列を埋める

パディングは、特定の文字列に値を追加しない非情報文字の挿入として定義できます。これは、文字列のいずれか 1つまたは両端で実行できます。

文字列のパディングは便利で、文字列の書式設定や出力中の文字列の配置の設定に役立ちます。このチュートリアルでは、Python で文字列にスペースを埋め込むために使用できるさまざまな方法について説明します。

Python で ljust() 関数を使用して文字列の右端にスペースを埋め込む

ljust() 関数は、文字列に右のパディングを追加するために使用されます。これは、文字列の右端に向かってパディングすることを意味します。

ljust() 関数には、widthfillchar の 2つのパラメーターが含まれています。width パラメーターは必須であり、パディングプロセスが完了した後の指定された文字列の長さを指定します。fillchar パラメータはオプションであり、文字列を埋める文字を表すために使用されます。

デフォルトでは、fillchar 値はスペース文字、つまり' 'です。

次のコードは、ljust() 関数を使用して、Python で文字列の右端にスペースを埋め込みます。

a = "I am legend"
print(a.ljust(15))

出力:

I am legend    

Python で rjust() 関数を使用して文字列の左端にスペースを埋め込む

ljust() 関数とスタイルは似ていますが目的が異なります。rjust() 関数を使用して、文字列に左側のパディングを追加します。

ljust() 関数と同様に、rjust() 関数には、widthfillchar の 2つのパラメーターが含まれています。width パラメーターは必須であり、パディングプロセスが完了した後の指定された文字列の長さを指定します。一方、fillchar パラメータはオプションであり、文字列を埋める文字を表すために使用されます。

この関数は、数字で始まるファイルに名前を付ける必要がある場合に非常に役立ちます。これは、より直感的な並べ替え方法を実現するのに役立ちます。

次のコードは、rjust() 関数を使用して、Python で文字列の左端にスペースを埋め込みます。

a = "I am legend"
print(a.rjust(15, " "))

出力:

    I am legend

Python で center() 関数を使用して文字列の両端にスペースを埋め込む

center() 関数は、文字列の両端に同じ量のパディングを追加します。これは、文字列を指定された文字列の幅に中央揃えするために使用されます。

ljust() および rjust() メソッドと同様に、center() 関数には、width および fillchar の 2つのパラメーターが含まれています。上記の記事で説明した両方の方法で説明したように、両方の関数はまったく同じ動作をします。

次のコードは、center() 関数を使用して、Python で文字列の両端にスペースを埋め込みます。

a = "I am legend"
print(a.center(20))

出力:

    I am legend     

Python でモジュラス (%) 演算子を使用した文字列フォーマットを使用して文字列にスペースを埋め込む

%記号は、文字列フォーマットまたは補間演算子とも呼ばれ、Python で文字列フォーマットを実装する 1つの方法です。この演算子は、文字列フォーマットを実装するために利用できる最も古い方法であるため、Python のほぼすべてのバージョンで機能します。

%記号と変換タイプを表す文字は、変数のプレースホルダーとしてマークされています。

次のコードは、モジュラス (%) 演算子を使用した文字列フォーマットを使用して、Python で文字列にスペースを埋め込みます。

print("%15s" % ("I am legend"))

出力:

    I am legend

上記のプログラムでは、文字列に左パディングを行います。同様に、次のコードを使用して適切なパディングを行うことができます。

print("%-15s" % ("I am legend"))

出力:

I am legend    

ここでの唯一の欠点は、文字列の左端または右端にのみパディングを実装でき、両端を同時に実装できないことです。さらに、この方法を使用すると、プログラムの可読性に影響します。

Python で str.format() 関数で文字列フォーマットを使用して文字列にスペースを埋め込む

Python で文字列フォーマットを実装する別の方法は、str.format() 関数を使用することです。このプロセスにより、中括弧 {} は、変数を置換する必要がある print ステートメント内の場所をマークします。

str.format() は Python 2.6 で最初に導入され、Python 2.6 から Python 3.5 までのすべての Python バージョンで使用できます。この関数はコーダーの間で非常に人気があり、複雑な文字列フォーマットを処理するのに非常に効率的であるため、プログラマーは文字列フォーマットを実装するためにこの方法を好みます。

次のコードは、str.format() 関数で文字列フォーマットを使用して、Python で文字列にスペースを埋め込みます。

print("{:15}".format("I am legend"))

出力:

I am legend    

上記のコードは、指定された文字列に正しいパディングを追加します。指定された文字列に左のパディングを追加するには、上記のプログラムに微調整を加えて、次のプログラムを使用します。

print("{:>15}".format("I am legend"))

出力:

    I am legend

str.format() 関数は、両側の文字列を一度に埋めることもできます。次に、コロン記号の後にプレースホルダーに^記号を追加するだけです。

次のコードは、str.format() 関数を使用して、Python で文字列の両端にスペースを埋め込みます。

print("{:^15}".format("I am legend"))

出力:

  I am legend  

Python で f-strings を使用した文字列フォーマットを使用して文字列にスペースを埋め込む

Python 3.6 で導入されたこのメソッドは、文字列フォーマットを実装する Python の比較的新しいメソッドです。したがって、このメソッドは、Python の最新バージョンで使用できます。

他の 2つのピア、%記号と str.format() よりも高速で理解しやすいため、効率的です。また、他の 2つの方法よりも速い速度で Python で文字列フォーマットを実装するのにも役立ちます。

次のコードは、f-strings を使用した文字列フォーマットを使用して、Python で文字列の右端にスペースを埋め込みます。

width = 15
padding = " "
print(f'{"I am legend" :{padding}<{width}}')

出力:

I am legend    

指定された文字列に左のパディングを追加するには、上記のコードに小さな調整を加えて、次のプログラムを使用します。

width = 15
padding = " "
print(f'{"I am legend" :{padding}>{width}}')

出力:

    I am legend

str.format() 関数の場合と同様に、Python では、パディングとプレースホルダーで指定された幅の間に^記号を使用して、文字列の両端にスペースをパディングできます。

width = 15
padding = " "
print(f'{"I am legend" :{padding}^{width}}')

出力:

  I am legend  

文字列をパディングする目的を達成するために文字列フォーマットを使用する場合、f-strings を使用することをお勧めします。これは、より簡潔で読みやすく、エラーが発生しにくいためです。

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

関連記事 - Python String