工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Python

Python String format() 例で説明

Python 文字列 format() とは?

Python 文字列 format() 最終的な文字列で有効な値を持つプレースホルダーで文字列を置換、置換、または変換するために使用される関数です。これは Python 文字列クラスの組み込み関数であり、書式設定された文字列を出力として返します。文字列内のプレースホルダーは中括弧で定義されています。

たとえば、「Guru99 へようこそ {}」.format('value here').

このチュートリアルでは、次のことを学びます:

Python の format() 関数の構文

templatestring.format(val1, val2...)

パラメータ

val1、val2 … : 中かっこ {} の形式のプレースホルダーを持つ特定のテンプレート文字列で置き換える必要がある値。プレースホルダーには、文字列、キーと値のペア、整数、浮動小数点数、文字などを使用できます。

戻り値:

中かっこで指定されたプレースホルダーの代わりに有効な値が置き換えられた、最終的な文字列が返されます。

プレースホルダー

テンプレート文字列のプレースホルダーは、中かっこを使用して表されます。 {}。プレースホルダーは空の {} にすることも、 {name} などの変数を持つことも、 {0} 、 {1} などの数値インデックスを持つこともできます。

string format() の仕組み

Python String format() メソッドは、プレースホルダーの元の文字列をスキャンします。プレースホルダーは、空の中かっこ ({})、位置引数、つまり、文字列に、{0}、{1} などのインデックス 0、1 のプレースホルダーを含めることができます。

キーワード引数の場合、{name}、{age} などの中括弧内に変数名が表示されます。空の中かっこの場合、フォーマットの値が中かっこ内で順番に置き換えられます。

最初の値は最初の空の中括弧に置き換えられ、その後に次の値が続きます。位置引数の場合、インデックスは 0 から始まります。値はコンマで区切られた形式で利用でき、0 th value は format 内の最初の値を指し、以下同様です。

キーワード引数の場合、つまり、プレースホルダー内で変数を使用する場合、必要に応じてフォーマット内で値の順序を指定できます。

format() に存在する変数名に基づいて値が置き換えられるため、ここでは順序は重要ではありません。文字列内のプレースホルダーを空、位置、およびキーワードまたは変数として使用する方法の例をいくつか示します。

例:空のプレースホルダーを文字列値に置き換える

以下の例では、文字列に空の中かっこ ({}) があります。フォーマットに指定された値は、中括弧 ({}) 内で置き換えられます。

置き換えたい値は文字列です。

例:

Python で String Formatting を使用して、中かっこ ({}) を文字列値に置き換えます。値は 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”) のように format 内で使用できます。 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 プレースホルダー内で使用すると、10 進形式で出力されます 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 これは、固定小数点数形式を出力します。デフォルトでは、小数点以下 6 桁までの任意の数値が出力されます。小数点以下 2 桁までが必要な場合は、として使用します。 2f すなわち 2f の前のピリオド (.) print("The value is : {:f}".format(40))

出力:

The value is  : 40.000000

例:小数点以下 2 桁までの出力を表示します。

print("The value is : {:.2f}".format(40))

出力:

The value is: 40.00
:o これは 8 進数形式で出力されます print("The value is : {:o}".format(500))

出力:

The value is  : 764
:x これは 16 進形式を小文字で出力します print("The value is : {:x}".format(500))

出力:

The value is  : 1f4
:X これは大文字で 16 進形式を出力します。 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%).
print("The value is : {:%}".format(0.80))

出力:

The value is  : 80.000000%

この例は、プレースホルダー内で {:.0%} を使用して小数点以下の桁数をスキップする方法を示しています。

print("The value is : {:.0%}".format(0.80))
出力:

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

出力に示されているように、カンマ (,) が 1000 区切りとして追加されます。

: これにより、正の数の前にスペースが追加されます この例は、指定された数値の前にスペースまたはパディングを追加する方法を示しています。数字の 5 は、数字の前に必要なスペース数を示します。

print("The value is: {:5}".format(40))

出力:

The value is:    40
:- これにより、負の数の前にマイナス記号が追加されます この例は、{:-} を使用して数値の前にマイナス (-) 記号を付けて出力を取得する方法を示しています。

print("The value is: {:-}".format(-40))

出力:

The value is: -40
:+ プラス記号を使用して、数値が正であることを示すことができます この例は、{:+} を使用して数値の前にプラス (+) 記号を付けて出力を取得する方法を示しています。

print("The value is: {:+}".format(40))

出力:

The value is: +40
:= 等号は、+/- 記号を左側に配置するために使用されます。 この例は、{:=} を使用して等号の前にプラス (+/-) 記号を付けて出力を取得する方法を示しています。

print("The value is {:=}".format(-40))

出力:

The value is -40
:^ これにより、最終結果が中央揃えになります この例は、{:^} を使用してテキストを中央揃えにする方法を示しています。数値 10 は、値が置き換えられたときに中央揃えで表示するために 10 個のスペースを追加するために使用されます。

print("The value {:^10} is positive value".format(40))

出力:

The value     40     is a positive value

ここでは、最終的なテキストに 10 個のスペースを追加する 10 を使用できます。置換される値は、10 個のスペースの間で中央揃えになります。 10 のスペースは、置換された値の中央揃えを示すために追加されています。

:> これにより、最終結果が右揃えになります (:>10) を使用して 10 のスペースが追加され、置き換えられた値は右揃えになります。

print("The value {:>10} is positive value".format(40))

出力:

The value         40 is positive value
:< これにより、最終結果が左揃えになります (:<10) を使用して 10 のスペースが追加され、置換される値は左揃えになります。

print("The value {:<10} is positive value".format(40))

出力:

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

  1. 部分文字列と例を含む Java String indexOf() メソッド
  2. Java String compareTo() メソッド:例での使用方法
  3. 例を使用した Python 文字列 strip() 関数
  4. 例を使用した Python 文字列 count()
  5. Python String find() メソッドと例
  6. 例を含む Python Lambda 関数
  7. 例を使用した Python round() 関数
  8. 例を使用した Python map() 関数
  9. Python Timeit() と例
  10. 例を使用したコレクション内の Python カウンター
  11. Python の type() と isinstance() と例