-1

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

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

乱码是我拥有的字符串

4

5 回答 5

4

您可以使用换行符转义序列 ( \n):

return 'line1\nline2\nline3'

或多行字符串:

return '''line1
line2
line3'''

或者将行列表连接在一起:

return '\n'.join(['line1', 'line2', 'line3'])
于 2013-04-21T04:27:30.943 回答
2

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

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

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

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

于 2013-04-21T04:56:25.163 回答
1

你可以试试这个:

str1 + '\n' + str2.
于 2013-04-21T04:27:44.987 回答
1
str = """hello world
goodbye mars"""

print(str)
于 2013-04-21T04:28:15.543 回答
0

你需要这样做:

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

如果你这样做:

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

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

于 2013-04-21T05:03:09.330 回答