f-Strings sind in Python 3.6 verfügbar und sehr nützlich zum Formatieren von Strings:
>>> n='you'
>>> f'hello {n}, how are you?'
'hello you, how are you?'
Weitere Informationen hierzu finden Sie in Python 3s f-Strings: Eine verbesserte Syntax zur Formatierung von Zeichenfolgen (Handbuch) . Ich habe ein interessantes Muster gefunden:
Beachten Sie, dass die Verwendung dreifacher Klammern dazu führt, dass Ihre Zeichenfolge nur einzelne Klammern enthält:
>>> f"{{{74}}}" '{74}'Sie können jedoch mehr Klammern anzeigen, wenn Sie mehr als dreifache Klammern verwenden:
>>> f"{{{{74}}}}" '{{74}}'
Und genau das ist der Fall:
>>> f'{74}'
'74'
>>> f'{{74}}'
'{74}'
Wenn wir nun von zwei {auf drei gehen, ist das Ergebnis dasselbe:
>>> f'{{{74}}}'
'{74}' # same as f'{{74}}' !
Wir brauchen also bis zu 4! ( {{{{) um zwei geschweifte Klammern als Ausgabe zu erhalten:
>>> f'{{{{74}}}}'
'{{74}}'
Warum ist das? Was passiert mit zwei geschweiften Klammern, damit Python von diesem Moment an eine zusätzliche benötigt?
f'{2+2}'4, f'{{2+2}}'2 + 2, f'{{{2+2}}}'returns {4}, f'{{{{2+2}}}}'➝ {{2 + 2}} usw. zurückgegeben werden. Es macht Sinn, rätselt aber auf den ersten Blick ein bisschen.
f'{74}'es dasselbe ist wie f'74'.
str.formatmacht das auch.
"{74}".format(...)würde eine Sequenz mit mindestens 74 Elementen erfordern.
f"{{2+2}}"undf"{{{2+2}}}", das sind'{2+2}'und'{4}'jeweils