Python 文字列フォーマット() 例を使って説明する
何ですか Python 文字列フォーマット()?
Python 文字列形式() は、最終的な文字列の有効な値を持つプレースホルダーを使用して文字列を置換、置換、または変換するために使用される関数です。これは、 Python 文字列クラス。フォーマットされた文字列を出力として返します。文字列内のプレースホルダーは中括弧で定義されます。
たとえば、「Guru99 {} へようこそ」.format('ここの値')。
format()関数の構文 Python
templatestring.format(val1, val2...)
Parameters
val1、val2 … : 中括弧 {} 形式のプレースホルダーを持つ、指定されたテンプレート文字列内で置換する必要がある値。プレースホルダーには、文字列、キー/値のペア、整数、浮動小数点数、文字などを使用できます。
戻り値
中括弧で指定されたプレースホルダーの代わりに有効な値が置き換えられた最終的な文字列を返します。
プレースホルダー
テンプレート文字列内のプレースホルダーは、中括弧 (例: {}) を使用して表されます。プレースホルダーは空の {} にすることも、たとえば {name} などの変数を含めることも、たとえば {0}、{1} などの数値インデックスを含めることもできます。
string format() はどのように機能するのでしょうか?
この Python 文字列形式() メソッドは、元の文字列をスキャンしてプレースホルダーを探します。プレースホルダーは空の中括弧 ({})、位置引数、つまり文字列にインデックス 0、1 (例: {0}、{1}) のプレースホルダーを含めることができます。
キーワード引数の場合、変数名は中括弧内に表示されます (例: {name}、{age})。中括弧が空の場合、フォーマットの値は中括弧内で順番に置き換えられます。
最初の値は最初の空の中括弧に置き換えられ、その後に次の値が続きます。 位置引数の場合、インデックスは 0 から始まります。 値はカンマで区切られた形式で使用できます。th value は、format 内の最初の値を指します。
キーワード引数の場合、つまり、プレースホルダー内で変数を使用する場合、必要に応じて形式内で値の順序を指定できます。
値は format() 内に存在する変数名に基づいて置き換えられるため、ここでは順序は重要ではありません。 ここでは、文字列内のプレースホルダーを空、位置、キーワードまたは変数を使用して使用する方法の例をいくつか示します。
例: 空のプレースホルダーが文字列値に置き換えられる
以下の例では、文字列に空の中括弧 ({}) があります。フォーマットに指定された値は、中括弧 ({}) 内で置き換えられます。
置換する値は文字列です。
例:
文字列フォーマットの使用 Python中括弧 ({}) を文字列値に置き換えます。値は format(“Guru99”) に渡されます。実行すると、中括弧 {} が Guru99 に置き換えられ、最終的な文字列は Welcome to Guru99 tutorials になります。
print ("Welcome to {} tutorials".format("Guru99"))
出力:
Welcome to Guru99 tutorials
例: 空のプレースホルダーは数値に置き換えられます
以下の例では、元の文字列内の数値を置き換えます。数値が必要な場所に中括弧 ({}) を追加します。実行すると、空の中括弧 ({}) が数値に置き換えられます。
例:
また、format() を使用して文字列内に数字を挿入することもできます。例では、format() 内にある空のプレースホルダー {} を数字 99 に置き換える方法を示します。
print ("Welcome to Guru{} Tutorials".format("99"))
出力:
Welcome to Guru99 Tutorials
例: プレースホルダー内での変数またはキーワード引数の使用
以下の例に示すように、中括弧内の変数を利用することもできます。変数は format() 内で定義されます。したがって、実行すると、変数に割り当てられた値が元の文字列内で置き換えられます。
例:
中括弧内で変数を使用できます (例: {name} {num})。name および num 変数の値は、format (name=”Guru”, num=”99″) 内で使用できます。name および num に指定された値は、{name} および {num} 内で置き換えられます。
print ("Welcome to {name}{num} Tutorials".format(name="Guru", num="99"))
出力:
Welcome to Guru99 Tutorials
例: プレースホルダー内でのインデックスまたは位置引数の使用
値は、プレースホルダー内の 0、1、2 などのインデックスを使用して置き換えることができます。 以下の例に示すように、値は format() から順に取得されます。
例:
print ("Welcome to {0}{1} Tutorials".format("Guru","99"))
出力:
Welcome to Guru99 Tutorials
例: 文字列内で複数のプレースホルダーを使用する
この例では、複数の空のプレースホルダーを使用します。
例:
この例で使用されている文字列には複数の空のプレースホルダーがあり、各プレースホルダーは format() 内の値を参照します。最初の値は最初のプレースホルダーに置き換えられ、以下同様になります。
print ("{} is {} new kind of {} experience!".format("Guru99", "totally","learning"))
出力:
Guru99 is totally new kind of learning experience!
プレースホルダー内の書式設定
プレースホルダを空にしたり、変数やインデックスを置いたりできることを見てきました。また、 Python プレースホルダー内の文字列の書式設定。
フォーマットのリストはこちら
フォーマット | 説明 | 例 |
---|---|---|
:d |
プレースホルダー内で使用すると、XNUMX 進数形式で出力が得られます。 | print("The binary to decimal value is : {:d}".format(0b0011))
出力: The binary to decimal value is : 3 |
:b |
プレースホルダー内で使用すると、バイナリ形式で出力が得られます。 | print("The binary value is : {:b}".format(500))
出力: The binary value is : 111110100 |
:e |
プレースホルダー内で使用すると科学的形式で出力が得られ、出力の指数 e は小文字になります。 | print("The scientific value is : {:e}".format(40))
出力: The scientific format value is : 4.000000e+01 |
:E |
プレースホルダー内で使用すると科学的形式で出力が得られ、出力の指数 E は大文字になります。 | print("The scientific value is : {:E}".format(40))
出力: The scientific value is : 4.000000E+01 |
:f |
これにより、固定小数点数形式が出力されます。 デフォルトでは、小数点以下 2 桁の任意の数値が出力されます。 小数点以下 2 桁までが必要な場合は、次のように使用します。 2fつまり。 XNUMXfの前にピリオド(.) | print("The value is : {:f}".format(40))
出力: The value is : 40.000000 例: 小数点第 2 位までの出力を表示します。
出力: The value is: 40.00 |
:o |
これにより、XNUMX 進形式が出力されます | print("The value is : {:o}".format(500))
出力: The value is : 764 |
:x |
これにより、XNUMX 進形式が小文字で出力されます | print("The value is : {:x}".format(500))
出力: The value is : 1f4 |
:X |
これにより、XNUMX 進形式が大文字で出力されます。 | print("The value is : {:X}".format(500))
出力: The value is : 1F4 |
:n |
これにより数値形式が出力されます。 | print("The value is : {:n}".format(500.00))
出力: The value is : 500 |
:% |
これにより、出力がパーセント形式で表示されます。 デフォルトでは、パーセント出力の小数点以下 6 桁が表示されます。小数点以下の値が不要な場合は、ピリオドと 0、つまり (:.0%) を使用できます。 |
print("The value is : {:%}".format(0.80))
出力: The value is : 80.000000% この例では、プレースホルダー内で {:.0%} を使用して小数点以下の桁をスキップする方法を示します。
The value is: 80% |
:_ |
これにより、千の位の区切り文字としてアンダースコアが出力されます。 Python 3.6以降から利用可能です。 | print("The value is {:_}".format(1000000))
出力: The value is : 1_000_000 |
:, |
これにより、千の区切り文字としてカンマが出力されます | print("The value is : {:,}".format(1000000))
出力: The value is : 1,000,000 出力に示されているように、XNUMX の区切り文字としてカンマ (,) が追加されます。 |
: |
これにより、正の数字の前にスペースが追加されます | この例では、指定された数値の前にスペースまたはパディングを追加する方法を示します。 数字 5 は、数字の前に必要なスペース数を示します。
出力: The value is: 40 |
:- |
これにより、負の数の前にマイナス記号が追加されます | この例は、{:-} を使用して数値の前にマイナス (-) 記号を付けた出力を取得する方法を示しています。
出力: The value is: -40 |
:+ |
プラス記号を使用して、数値が正であることを示すことができます | この例は、{:+} を使用して数値の前にプラス (+) 記号を付けた出力を取得する方法を示しています。
出力: The value is: +40 |
:= |
等号は、左側に +/- 記号を配置するために使用されます。 | この例では、{:=} を使用して等号の前にプラス (+/-) 符号を付けた出力を取得する方法を示します。
出力: The value is -40 |
:^ |
これにより、最終結果が中央揃えになります | この例では、{:^} を使用してテキストを中央揃えにする方法を示しています。 数値 10 は、値を置換するときに中央揃えを示すために 10 個のスペースを追加するために使用されます。
出力: The value 40 is a positive value ここで 10 を使用すると、最終的なテキストに 10 個のスペースが追加され、置換される値は 10 個のスペースの間で中央揃えになります。 10 のスペースは、置換された値の中央揃えを示すために追加されています。 |
:> |
これにより、最終結果が右揃えになります。 | (:>10) を使用して 10 のスペースが追加され、置換された値は右揃えになります。
出力: The value 40 is positive value |
:< |
これにより、最終結果が左揃えになります | (:<10) を使用して 10 のスペースが追加され、置換される値は左揃えで配置されます。
出力: The value 40 is positive value |
format() でクラスを使用する
この例では、クラスを作成し、.format内でクラスのオブジェクトを使用します。 Python メソッド。プレースホルダーは、クラス オブジェクトを使用してクラスのプロパティまたはメンバーを参照します。
例:
クラスは、format(c=MyClass()) 内で呼び出されます。オブジェクト c は、クラス MyClass() 内のプロパティとメソッドへの参照を持ちます。
class MyClass: msg1="Guru" msg2="Tutorials" print("Welcome to {c.msg1}99 {c.msg2}!".format(c=MyClass()))
出力:
Welcome to Guru99 Tutorials!
format() で辞書を使用する
以下の例に示すように、format() 内で辞書を使用することもできます。
my_dict = {'msg1': "Welcome", 'msg2': 'Guru99'} print("{m[msg1]} to {m[msg2]} Tutorials!".format(m=my_dict))
出力:
Welcome to Guru99 Tutorials!
パディング変数の置換
string.format() メソッドを使用すると、文字列内にプレースホルダーを使用してパディングやスペースを追加できます。
例:
以下の例では、format() を使用してプレースホルダー内にスペースを追加します。スペースを追加するには、コロン (:) の後の波括弧内にスペースの数を指定する必要があります。したがって、プレースホルダーは {:5} のようになります。
print("I have {:5} dogs and {:5} cat".format(2,1))
出力:
I have 2 dogs and 1 cat
プレースホルダー内にインデックスを指定することもできます (例: {0:5})。0 は形式内の最初の値を指します。
print("I have {0:5} dogs and {1:5} cat".format(2,1))
出力:
I have 2 dogs and 1 cat
まとめ
- Python string クラスには、format() と呼ばれる重要な組み込みコマンドが用意されており、このコマンドは、最終的な文字列で有効な値を持つプレースホルダーを使用して文字列を置換、代入、または変換するのに役立ちます。
- 文字列モジュール内のプレースホルダー Python 中括弧で定義されます。例: “Welcome to Guru99 {}".format('value here')。
- プレースホルダーは空の {} にすることも、 {name} などの変数を含めることも、{0} 、 {1} などの数値インデックスを含めることもできます。
- 文字列フォーマットは、 Python プレースホルダー内では、パディングの追加、中央揃え、数値の書式設定にも役立ちます。