メインコンテンツまでスキップ

Pythonで`str.format()`に辞書を渡す方法

Pythonでは、str.format()メソッドを使用して、プレースホルダーを使用して文字列に値を挿入することができます。これらのプレースホルダーは中括弧 {} で表され、辞書からキーと値のペアを使用して複数のプレースホルダーを置き換えることができます。

以下は、Pythonでstr.format()に辞書を渡す方法のステップバイステップのチュートリアルです:

ステップ1: 辞書を作成する

まず、文字列に挿入する値を持つ辞書を作成します。辞書は、キーが文字列のプレースホルダーを表すようなキーと値のペアで構成されている必要があります。

data = {
'name': 'John',
'age': 25,
'country': 'USA'
}

この例では、dataという名前の辞書があり、3つのキー、'name''age''country'を持っています。

ステップ2: 文字列を定義する

次に、辞書から値を挿入する文字列を定義します。辞書のキーのプレースホルダーは、中括弧 {} を使用して含める必要があります。

message = "私の名前は{name}です。{age}歳で、{country}に住んでいます。"

messageという名前の文字列を定義し、{name}{age}{country}の3つのプレースホルダーがあります。

ステップ3: 辞書をstr.format()に渡す

辞書をstr.format()に渡すためには、文字列上でformat()メソッドを呼び出し、辞書を引数として渡します。

formatted_message = message.format(**data)

**dataの構文は、辞書を展開し、そのキーと値のペアをformat()メソッドにキーワード引数として渡すために使用されます。

ステップ4: フォーマットされた文字列を表示または使用する

最後に、フォーマットされた文字列を表示または使用することができます。文字列内のプレースホルダーは、辞書から対応する値で置き換えられます。

print(formatted_message)

出力は次の通りです:

私の名前はJohnです。25歳で、USAに住んでいます。

追加の例

例1: 数値の値

data = {
'num1': 10,
'num2': 5,
'sum': 15
}

message = "{num1}と{num2}の合計は{sum}です。"

formatted_message = message.format(**data)
print(formatted_message)

出力:

10と5の合計は15です。

例2: 日付の値

data = {
'day': 12,
'month': 'October',
'year': 2022
}

message = "今日は{day}日の{month}、{year}です。"

formatted_message = message.format(**data)
print(formatted_message)

出力:

今日は12日のOctober、2022です。

例3: ブール値

data = {
'is_sunny': True,
'is_rainy': False
}

message = "晴れていますか? {is_sunny}。雨が降っていますか? {is_rainy}。"

formatted_message = message.format(**data)
print(formatted_message)

出力:

晴れていますか? True。雨が降っていますか? False。

これらのステップと例に従うことで、Pythonでstr.format()に辞書を簡単に渡し、文字列に値を動的に挿入することができます。