文字列をフォーマットする機能は、C 言語や Fortran 言語のフォーマットされた入出力など、多くのプログラミング言語に含まれています。 Python には、文字列をフォーマットするための組み込み操作があります%。
テンプレート
文字列をフォーマットするとき、Python は文字列をテンプレートとして使用します。テンプレートには、実際の値用のスペースを確保し、実際の値が表示される形式を記述するフォーマッタがあります。 Python はタプルを使用して複数の値をテンプレートに渡します。各値はフォーマット文字に対応します。
例:
Python
1
PRint("私は %s です。私は %d 年ですold" % ( 'ヴァメイ', 99))
上記の例では、
「私は %s です。私は %d 歳です」がテンプレートです。 %s は、文字列を表す最初のフォーマット文字です。 %d は 2 番目のフォーマット文字で、整数を表します。 ('Vamei', 99) の 2 つの要素 'Vamei' と 99 は、%s と %d を置き換える実際の値です。
テンプレートとタプルの間には、書式設定操作を表す % 記号があります。
「私は %s です。私は %d 歳です」% ('Vamei', 99) は実際には文字列式を構成します。通常の文字列と同じように変数に割り当てることができます。例:
Python
1
2
a = "私は %s です。 %d 歳" % (' Vamei ', 99)
print(a)
辞書を使用して実数値を渡すこともできます。以下のように:
Python
1
print("私は %(name)s です。私は %(age) です歳」 % {'name':'Vamei', 'age':99})
ご覧のとおり、2 つの書式文字に名前を付けました。名前は()で囲みます。それぞれの名前は辞書のキーに対応します。
フォーマット文字
フォーマット文字は、実数値用のスペースを予約し、表示形式を制御します。フォーマット文字には、次のように、表示のタイプを制御するタイプ コードを含めることができます:
%s 文字列 (str() を使用して表示)
%r 文字列 (repr() を使用して表示)
%c 単一文字
%b 2 進整数
%d 10 進整数
%i 10 進整数
%o 8 進整数
%x 16 進整数
%e 指数 (基数は e と表記)
%E 指数 (基数は次のように表記) E)
%f 浮動小数点数
%F 浮動小数点数、上記と同じ
%g 指数 (e) または浮動小数点数 (表示長による)
%G 指数 (E) または浮動小数点数point ポイント (表示の長さに応じて)
%% 文字 "%"
次のメソッドを使用して、形式をさらに制御できます:
%[(name)][flags][width].[ precision ]typecode
(name) は、+、-、' '、または 0 を持つことができる名前付き
フラグです。 + は右揃えを意味します。 - は左揃えを意味します。 ' ' はスペースです。これは、正の数の左側にスペースを埋めて、負の数と揃えることを意味します。 0 は 0 パディングを使用することを意味します。
width は表示幅を表します
precision は小数点以下の精度を表します
例:
Python
1
2
3
print ("%+10x" % 10)
print("%04d" % 5)
print("%6.3f" % 2.3)
上記の幅と精度は 2 つの整数です。 * を使用して、これら 2 つの数量を動的に置き換えることができます。例:
Python
1
print("%.*f" % (4, 1.2))
Python 実は* を 4 に置き換えます。したがって、実際のテンプレートは「%.4f」です。
概要
Python の組み込み % 演算子を使用して、文字列操作をフォーマットし、文字列の表示形式を制御できます。 Python で文字列をフォーマットする方法は他にもありますが、% 演算子を使用するのが最も便利です。
上記は、Python クイック チュートリアル (補足 05): 文字列の書式設定 (% 演算子) の内容です。さらに関連する内容については、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。