Wird die folgende Syntax in Python 3.6 nicht von f-Strings unterstützt? Wenn ich meine f-string Verbindungslinie, wird die Substitution nicht auftreten:Wird der Verbindungsaufbau von f-Strings nicht unterstützt?
SUB_MSG = "This is the original message."
MAIN_MSG = f"This longer message is intended to contain " \
"the sub-message here: {SUB_MSG}"
print(MAIN_MSG)
kehrt:
This longer message is intended to contain the sub-message here: {SUB_MSG}
Wenn ich die Zeile-Join zu entfernen:
SUB_MSG = "This is the original message."
MAIN_MSG = f"This longer message is intended to contain the sub-message here: {SUB_MSG}"
print(MAIN_MSG)
funktioniert es wie erwartet :
This longer message is intended to contain the sub-message here: This is the original message.
In PEP 498, Schrägstriche innerhalb ein f-String nicht ausdrücklich unterstützt:
Escape-Sequenzen
Umgekehrte Schrägstriche darf nicht in den Expressions Teilen der f-Strings erscheinen, so dass Sie sie nicht verwenden können, zum Beispiel, Zitate innen f-Strings zu entkommen:
>>> f'{\'quoted string\'}'
Line-Joins ‚innerhalb des Ausdrucks Teil von f-str betrachtet und werden daher nicht unterstützt?
Nicht * innerhalb der * Ausdruck Teile von f-Strings unterstützt, nicht an anderer Stelle. Fügen Sie auch 'f' zum zweiten String-Literal hinzu. Dies ist konsistent mit der Funktionsweise anderer String-Präfixe: 'len (r" \\ "" \\ "== 3). – Ryan