logo

Python 文字列補間

文字列補間 変数の値を文字列内のプレースホルダーに置き換えるプロセスです。これをよりよく理解するために例を考えてみましょう。「hello welcome to geeks for geeks」のように文字列を出力するたびに文字列の値を変更したいとします。ここで、 はユーザー名のプレースホルダーです。毎回新しい文字列を作成する代わりに、文字列補間を使用します。 パイソン ユーザー名のプレースホルダーを動的に変更するのに役立ちます。

PythonStringInterpolation-(1)



% – フォーマット

% – フォーマット Python が提供する機能で、% 演算子でアクセスできます。これは、C の printf スタイル関数に似ています。

例: % 演算子を使用した文字列の書式設定

Python3



C++でintを文字列に変換する






n1>=> 'Hello'> n2>=> 'techcodeview.com'> # for single substitution> print>(>'Welcome to % s'> %> n2)> # for single and multiple substitutions()> # mandatory> print>(>'% s ! This is % s.'> %> (n1, n2))>

>

>

出力

Welcome to techcodeview.com Hello ! This is techcodeview.com.>

それは単なる複雑なバージョンだとしましょう。それでも、(文字列 + 変数 + 文字列 + 変数 + 変数 + 文字列) この表現を常に使用したいわけではないため、文字列内で置換する変数が多数ある場合には、この表現を使用できます。したがって、この目的のために、% 形式を使用できます。

注記: % 形式の詳細については、を参照してください。 % を使用した Python での文字列の書式設定

Str.format()

str.format() これは、1 つ以上の中括弧 { } で定義された 1 つ以上の置換フィールドとプレースホルダーを文字列に挿入することによって機能します。プレースホルダーに入れて、format 関数にパラメーターとして渡された文字列と連結する値。

例: format() メソッドを使用して文字列をフォーマットします。

Python3




n1>=> 'Hello'> n2>=> 'techcodeview.com'> # for single substitution> print>(>'{}, {}'>.>format>(n1, n2))>

>

>

出力

Hello, techcodeview.com>

中括弧 {} 内で変数名を使用することもできます。これにより、フォーマット関数のパラメータを任意の順序で使用できるようになります。

例: 中かっこ内の変数を使用して関数をフォーマットします。

Python3




n1>=> 'Hello'> n2>=> 'GeeksForGeeks'> # for single or multiple substitutions> # let's say b1 and b2 are formal parameters> # and n1 and n2 are actual parameters> print>(>'{b1}! This is {b2}.'>.>format>(b1>=>n1, b2>=>n2))> # we can also change the order of the> # variables in the string without changing> # the parameters of format function> print>(>'{b2}! This is {b1}.'>.>format>(b1>=>n1, b2>=>n2))>

ハッシュセットとハッシュマップ
>

>

出力

Hello! This is GeeksForGeeks. GeeksForGeeks! This is Hello.>

注記: str.format() の詳細については、を参照してください。 Pythonのformat()関数

F 文字列

PEP 498 では、リテラル文字列補間、または一般的には「文字列補間」として知られる新しい文字列フォーマット メカニズムが導入されました。 F ストリング (文字列リテラルの前に先頭の f 文字があるため)。 f-strings の背後にある考え方は、文字列補間をより簡単にすることです。

f 文字列を作成するには、文字列の前に文字 f を付けます。文字列自体は、str の場合とほぼ同じ方法で書式設定できます。フォーマット()。 F 文字列は、書式設定のために文字列リテラル内に Python 式を埋め込むための簡潔で便利な方法を提供します。

例: f-string を使用した文字列のフォーマット

Python3




n1>=> 'Hello'> n2>=> 'techcodeview.com'> # f tells Python to restore the value of two> # string variable name and program inside braces {}> print>(f>'{n1}! This is {n2}'>)>

>

>

出力

Hello! This is techcodeview.com (2 * 3)-10 = -4>

f-strings を使用して算術演算を計算することもでき、インライン算術演算が実行されます。以下の例を参照してください –

例: f-string を使用したインライン演算

Python3

nginx




a>=> 2> b>=> 3> c>=> 10> print>(f>'({a} * {b})-{c} = {(2 * 3)-10}'>)>

>

>

出力

(2 * 3)-10 = -4>

注記: f 文字列の詳細については、を参照してください。 Python の f 文字列

文字列テンプレートクラス

String モジュールでは、Template クラスを使用して、出力仕様の簡略化された構文を作成できます。この形式では、有効な Python 識別子 (英数字とアンダースコア) を含む $ で形成されたプレースホルダー名が使用されます。プレースホルダーを中括弧で囲むと、スペースを挟まずにさらに英数字を続けることができます。 $$ を書き込むと、エスケープされた単一の $ が作成されます。

例: テンプレートクラスを使用した文字列の書式設定

Python3


Java文字列クラス



from> string>import> Template> n1>=> 'Hello'> n2>=> 'techcodeview.com'> # made a template which we used to> # pass two variable so n3 and n4> # formal and n1 and n2 actual> n>=> Template(>'$n3 ! This is $n4.'>)> # and pass the parameters into the template string.> print>(n.substitute(n3>=>n1, n4>=>n2))>

>

>

出力

Hello ! This is techcodeview.com.>

注記: String Template クラスの詳細については、を参照してください。 Python の文字列テンプレート クラス