teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

別方法追加

2021/04/27 03:32

投稿

ppaul
ppaul

スコア24672

answer CHANGED
@@ -4,4 +4,11 @@
4
4
  print("この {hard} は {name}のものだ".format(hard="pen", name="Ken"))
5
5
  となります。この場合は、hard="pen"とname="Ken"という名前付引数が与えられるので正常に表示されます。
6
6
 
7
+ formatメソッドではなく、フォーマット済み文字列リテラルを使うならば以下のようになります。
8
+ ```python
9
+ >>> adict = {'hard': "pen", 'name': "Ken"}
10
+ >>> print(f"この {adict['hard']} は {adict['name']}のものだ")
11
+ この pen は Kenのものだ
12
+ ```
13
+
7
14
  回答とか関係ありませんが、組み込みクラスのdictを変数名として使うと不都合が起きる場合がありますので、別の変数名に変えることをお勧めします。

1

注意を追加

2021/04/27 03:32

投稿

ppaul
ppaul

スコア24672

answer CHANGED
@@ -2,4 +2,6 @@
2
2
 
3
3
  ②の"この {hard} は {name}のものだ".format(**dict)は、関数呼び出し時にdictが展開されて
4
4
  print("この {hard} は {name}のものだ".format(hard="pen", name="Ken"))
5
- となります。この場合は、hard="pen"とname="Ken"という名前付引数が与えられるので正常に表示されます。
5
+ となります。この場合は、hard="pen"とname="Ken"という名前付引数が与えられるので正常に表示されます。
6
+
7
+ 回答とか関係ありませんが、組み込みクラスのdictを変数名として使うと不都合が起きる場合がありますので、別の変数名に変えることをお勧めします。