2017-03-01 10 views
4

私は中かっこが好きな文字列を持っていますが、f-strings機能も利用しています。これにはいくつかの構文がありますか?Python 3.6でf-stringsをエスケープする方法は?

ここでは動作しない2つの方法があります。リテラルテキスト "{bar}"を文字列の一部として含めたいと思います。

foo = "test" 
fstring = f"{foo} {bar}" 

NameError:名 'バー' が定義されていないでSyntaxError

fstring = f"{foo} \{bar\}" 

:表現の部分はバックスラッシュを含めることはできませんF-文字列

望ましい結果:

'test {bar}' 

編集:この質問のように見えるのは、How can I print literal curly-brace characters in python string and also use .format on it?と同じ回答ですが、 format関数がf-stringと同じ規則を使用することを理解してください。だからうまくいけば、この質問は、この答えにf-stringサーチャーを結びつけることにおいて価値があります。

答えて

9

パーサからのカスタム構文エラーがありますが、same trickは通常の文字列として機能します。

使用ダブルカーリー:

>>> foo = 'test' 
>>> f'{foo} {{bar}}' 
'test {bar}' 

これは仕様hereとドキュメントhereで述べています。

関連する問題