你不能 反斜杠不能出现在花括号内
{};这样做会导致SyntaxError:
>>> f'{}'SyntaxError: f-string expression part cannot include a backslash这是在PEP中为f字符串指定的:
反斜线可能不会出现在f字符串的表达式部分内,[…]
一种选择是先
'n'命名,然后再
.join在
f-string内进行命名;也就是说,不使用文字:
names = ['Adam', 'Bob', 'Cyril']nl = 'n'text = f"Winners are:{nl}{nl.join(names)}"print(text)结果是:
Winners are:AdamBobCyril
@wim指定的另一个选项是
chr(10)用来获取
n返回值,然后在此加入。
f"Winnersare:n{chr(10).join(names)}"当然,还有另一个是要
'n'.join预先添加相应的名称:
n = "n".join(names)text = f"Winners are:n{n}"结果相同。
注意:
这是
f-string和之间的细微差别之一
str.format。在后者中,您可以始终使用标点符号,只要打开包含这些键的相应古怪字典即可:
>>> "{\} {*}".format(**{"\": 'Hello', "*": 'World!'})"Hello World!"(请不要这样做。)
在前一种格式中,标点符号是不允许的,因为您不能使用它们的标识符。
撇开:我肯定会选择
format,因为其他答案都建议您选择。我提供的选项仅在由于某些原因 必须 使用f字符串的情况下适用。
仅仅因为有些新事物,并不意味着您应该尝试用它做一切;-)



