如何将斜杠转义序列放入 f-string 中

16 浏览
0 Comments

如何将斜杠转义序列放入 f-string 中

这个问题已经有答案了

如何在f字符串中使用换行符\'\\n\'格式化输出?

我想简单地写出这样的东西:

"{}MESSAGE{}".format("\t"*15, "\t"*15)

使用

f"{'\t'*15}MESSAGE{'\t'*15}" # This is incorrect

但是我得到了以下错误:

>>> something = f"{'\t'*6} Weather"
  File "", line 1
SyntaxError: f-string expression part cannot include a backslash
>>> something = f"{\'\t\'*6} Weather"
  File "", line 1
SyntaxError: f-string expression part cannot include a backslash

如何完成这个任务?

admin 更改状态以发布 2023年5月21日
0
0 Comments

正如错误信息所述,反斜杠与f字符串不兼容。简单地将制表符放入变量中并使用它。

tab = '\t' * 15
f"{tab}MESSAGE{tab}"

0
0 Comments

你可能看到了这个:

>>> f"{'\t'*15}MESSAGE{'\t'*15}"
  File "", line 1
    f"{'\t'*15}MESSAGE{'\t'*15}"
                                ^
SyntaxError: f-string expression part cannot include a backslash

为了简单起见,f-string表达式不能包含反斜杠,所以你可以这样做:

>>> spacer = '\t' * 15
>>> f"{spacer}MESSAGE{spacer}"
'\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tMESSAGE\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'
>>>

0