如何在不引入意外空白的情况下在多行上编写 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}"
         )