Python 如何返回包含新行的字符串?

Python 如何返回包含新行的字符串?,python,Python,我有一个问题需要我使用return,我不知道如何在多行上返回。我需要能够得到这样的输出 Dear so and so, kjhagjkahgsdhgl;dslhglk jkasdhgjkdshkglhds;g kjdghksadjglkdjslkg kjgahkjsdhlgkdsjg;lsd 如果乱码是我拥有的字符串,您可以使用换行符转义序列(\n): 或多行字符串: return '''line1 line2 line3''' 或将一系列行连接在一起: return '\n'.join([

我有一个问题需要我使用
return
,我不知道如何在多行上返回。我需要能够得到这样的输出

Dear so and so,
kjhagjkahgsdhgl;dslhglk
jkasdhgjkdshkglhds;g
kjdghksadjglkdjslkg
kjgahkjsdhlgkdsjg;lsd

如果乱码是我拥有的字符串,您可以使用换行符转义序列(
\n
):

或多行字符串:

return '''line1
line2
line3'''
或将一系列行连接在一起:

return '\n'.join(['line1', 'line2', 'line3'])
您可以尝试以下方法:

str1 + '\n' + str2.

您的代码没有问题。它工作正常。唯一的问题是对返回值的混淆

在交互式Python解释器中运行语句时,Python将打印出返回值的“表示”(除非它是
None
)。表示与值本身不是一回事。您可以使用内置的
repr
函数获取任何对象的表示

字符串的
repr
将包含引号,并将对字符串的所有特殊字符进行转义。引号和转义字符实际上不是字符串本身的一部分,只是表示的一部分

如果使用
print(string)
打印字符串,则只会看到字符串的内容,而不会看到仅在表示中的任何内容。无法使表示看起来像打印输出。Python就是不能这样工作。您所拥有的功能可能正是您分配任务所需的功能。

您需要执行以下操作:

>>> print customSpam("John","Bob","Zoo")
如果您只是这样做:

>>> customSpam("John","Bob","Zoo")

您将获得字符串的内部表示形式,而不是计算后的打印方式。

当我使用第一个选项时,它会在行继续字符错误后给我一个意外字符,它应该显示在单独的行上。当我运行时,它只是添加\n而不是任何实际行。它应该读起来像一封写给某人的信,但我不需要它看起来像一封真正的信,根据我的教授的说法,想想一封非常老的信,上面写着一行亲爱的话,然后在一行全新的字上写上一些字。一个新行和单词等。没有新行的表示,而是实际的新行。哦,你使用了打印,所以没有办法按照他当时的要求来做吗?
str
是一个别名,不要使用它
>>> print customSpam("John","Bob","Zoo")
>>> customSpam("John","Bob","Zoo")