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

Pythonの文字列メソッドcenter()の使い方を徹底解説

このチュートリアルでは、Pythonの文字列メソッドcenter()について詳しく解説します。

center()メソッドは2つの引数を受け取ります。1つ目は必須のlength(全体の長さ)、2つ目は任意指定のchar(埋め込み文字)です。このメソッドは、指定した長さを基準に元の文字列を中央揃えに配置した新しい文字列を返します。

埋め込み文字を指定しなかった場合は、デフォルトで半角スペースが使用されます。まずは基本となる構文を確認しましょう。

構文

string.center(length, char)

例1:スペースで中央揃えする

# 文字列の初期化
string = "tutorialspoint"
# center -> 25
print(string.center(25))

出力結果

上記のコードを実行すると、次のような結果が得られます。

     tutorialspoint      

出力結果の合計文字数は25になります。center()メソッドは、文字列がちょうど中央に来るように前後を調整してくれます。次に、第2引数として埋め込み文字を指定した例を見てみましょう。

例2:任意の文字で中央揃えする

# 文字列の初期化
string = "tutorialspoint"
# center -> 25
print(string.center(25, '*'))

出力結果

上記のプログラムを実行すると、次のような結果が得られます。

******tutorialspoint*****

今回はスペースの代わりにアスタリスク(*)が埋め込まれました。「*」以外にも、好きな1文字を自由に指定できます。ただし、1文字ではなく複数文字の文字列を渡すとエラーが発生するので注意が必要です。実際に確認してみましょう。

例3:複数文字を指定した場合のエラー

# 文字列の初期化
string = "tutorialspoint"
# center -> 25
print(string.center(25, '***'))

出力結果

上記のコードを実行すると、次のような結果が得られます。

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
 in 
      3
      4 # center -> 25
----> 5 print(string.center(25, '***'))
TypeError: The fill character must be exactly one character long

「埋め込み文字(fill character)は必ず1文字でなければならない」というTypeErrorが発生しました。center()メソッドを使う際には、この点をしっかり覚えておきましょう。

まとめ

center()メソッドを使えば、指定した幅の中で文字列を簡単に中央揃えにできます。ポイントは以下の3つです。

  • 第1引数のlengthは必須で、結果全体の文字数を指定する
  • 第2引数のcharは省略可能で、省略時は半角スペースが使われる
  • 埋め込み文字に指定できるのは1文字のみで、複数文字を渡すとTypeErrorになる

本チュートリアルについてご不明な点がありましたら、ぜひコメント欄でお気軽にお尋ねください。

  1. Pythonで文字列を逆順に反転する方法|追加メモリ不要のインプレース手法

    文字の配列が与えられたとき、追加のメモリ領域を使用せずに文字列を逆順に反転することを考えます。たとえば、入力が [H, E, L, L, O] である場合、期待される出力は [O, L, L, E, H] となります。 解法のアプローチ この問題は「Two Pointers(ツーポインタ)」と呼ばれる定番のテクニックで効率的に解けます。考え方はシンプルで、配列の両端から中央に向かって文字を交換していくだけです。 手順 2つのポインタを用意します:start = 0、end = 文字列の長さ - 1 s[start] と s[end] の文字を入れ替えます start を1つ増やし、end を

  2. Pythonのcasefold()メソッドとは?文字列の小文字変換と比較方法を解説

    Pythonのcasefold()は、文字列内の英字をすべて小文字に変換するためのメソッドです。lower()と似ていますが、より積極的な変換を行う点が特徴で、ドイツ語の「ß」が「ss」に変換されるなど、国際化対応において強力な働きをします。2つの文字列に対してcasefold()を適用すれば、大文字・小文字の違いを無視して値を一致させることができます。そのため、ユーザー入力の比較や検索処理などで非常に役立ちます。casefold()の基本的な使い方次の例では、文字列にcasefold()を適用し、すべて小文字に変換された結果を出力しています。コード例string = BestTutorial