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()に辞書を簡単に渡し、文字列に値を動的に挿入することができます。