如何在不引入意外空白的情况下在多行上编写 f 字符串?
How to write an f-string on multiple lines without introducing unintended whitespace?
考虑以下代码片段:
name1 = "Nadya"
name2 = "Jim"
def print_string():
string = f"{name1}\n\
{name2}"
print(string)
print_string()
产生
Nadya
Jim
这行得通,但是 string
定义第二行缩进的 'break' 看起来很难看。我发现如果我缩进 {name2}
行,这个缩进会出现在最后的字符串中。
我正在尝试找到一种方法来在新行上继续 f 字符串并缩进它,而不在最终字符串中出现缩进。按照我在普通字符串中看到的类似内容,我尝试了
name1 = "Nadya"
name2 = "Jim"
def print_string():
string = f"{name1}\n"
f"{name2}"
print(string)
print_string()
但这会导致 IndentationError: unexpected indent
。我正在尝试的方法是否可以通过其他方式实现?
string = f"{name1}\n" \ # line continuation character
f"{name2}"
更新感谢@cowbert,以遵守 PEP-8 建议:
string = (f"{name1}\n"
f"{name2}"
)
考虑以下代码片段:
name1 = "Nadya"
name2 = "Jim"
def print_string():
string = f"{name1}\n\
{name2}"
print(string)
print_string()
产生
Nadya
Jim
这行得通,但是 string
定义第二行缩进的 'break' 看起来很难看。我发现如果我缩进 {name2}
行,这个缩进会出现在最后的字符串中。
我正在尝试找到一种方法来在新行上继续 f 字符串并缩进它,而不在最终字符串中出现缩进。按照我在普通字符串中看到的类似内容,我尝试了
name1 = "Nadya"
name2 = "Jim"
def print_string():
string = f"{name1}\n"
f"{name2}"
print(string)
print_string()
但这会导致 IndentationError: unexpected indent
。我正在尝试的方法是否可以通过其他方式实现?
string = f"{name1}\n" \ # line continuation character
f"{name2}"
更新感谢@cowbert,以遵守 PEP-8 建议:
string = (f"{name1}\n"
f"{name2}"
)