f-StringはPython 3.6から利用でき、文字列のフォーマットに非常に役立ちます。
>>> n='you'
>>> f'hello {n}, how are you?'
'hello you, how are you?'
それらについてPython 3のf-Stringsでさらに読む:改良された文字列フォーマット構文(ガイド)。私は興味深いパターンを見つけました:
三重中括弧を使用すると、文字列に中括弧が1つだけ含まれることに注意してください。
>>> f"{{{74}}}" '{74}'ただし、3つ以上のブレースを使用する場合は、より多くのブレースを表示できます。
>>> f"{{{{74}}}}" '{{74}}'
そして、これはまさにその通りです。
>>> f'{74}'
'74'
>>> f'{{74}}'
'{74}'
2 {から3に渡しても、結果は同じです。
>>> f'{{{74}}}'
'{74}' # same as f'{{74}}' !
最大4つ必要です。({{{{)2つの中括弧を出力として取得するには:
>>> f'{{{{74}}}}'
'{{74}}'
どうしてこれなの?Pythonがその瞬間から追加のブレースを必要とするために2つのブレースで何が起こりますか?
@ケビン素晴らしいもの。奇妙なこと
—
fedorqui 'SO stop harming'
f'{2+2}'に、4をf'{{2+2}}'返すと2 + 2 、returns f'{{{2+2}}}'{4}、f'{{{{2+2}}}}'➝{{2 + 2}}などを返します。それは理にかなっていますが、一見すると少し戸惑います。
簡単に言えば、はと
—
kaya3
f'{74}'同じだからですf'74'。
これはf-stringの新しいものではなく、古き良きもの
—
Peilonrayz
str.formatもこれを行います。
@Peilonrayzどうやって?
—
gerrit
"{74}".format(...)少なくとも74要素のシーケンスが必要です。
f"{{2+2}}"とf"{{{2+2}}}"され、'{2+2}'そして'{4}'それぞれ