1. ホーム
  2. python

[解決済み] 名前付きパラメータの文字列書式?

2022-05-10 23:05:07

質問

とても簡単な質問なのですが、どのようにググればいいのかわかりません。

どうしたらいいでしょうか

print '<a href="%s">%s</a>' % (my_url)

ということは my_url が2回使われるのですか?私は、このような場合、 で、paramsにdictを使用しなければならないと思いますが、適切な構文がわかりません?


参考までに、私は単に %s を2回使用することもできますが、それは重要ではありません :)

どのように解決するのですか?

Python 3.6+での解決方法

Python 3.6で紹介されている リテラル文字列フォーマット を導入し、文字列の外側にある名前付きパラメータを一切繰り返さずにフォーマットできるようになりました。

my_url

これは print(f'<a href="{my_url:s}">{my_url:s}</a>') を評価するので、もしそれが定義されていない場合は my_url . 実際には、代わりに NameError の代わりに、文字列として評価される限り、任意の Python 式を書くことができます (なぜなら my_url の書式コードのため)。 もし、文字列でない可能性のある式の結果を文字列で表現したい場合は :s:s というように、通常のリテラル前の文字列書式と同じです。

リテラル文字列フォーマットの詳細については PEP 498を参照してください。 を参照してください。