我有一个问题需要我使用return
,但我不知道如何在多行上返回。我需要能够得到一个看起来像这样的输出
Dear so and so,
kjhagjkahgsdhgl;dslhglk
jkasdhgjkdshkglhds;g
kjdghksadjglkdjslkg
kjgahkjsdhlgkdsjg;lsd
乱码是我拥有的字符串
我有一个问题需要我使用return
,但我不知道如何在多行上返回。我需要能够得到一个看起来像这样的输出
Dear so and so,
kjhagjkahgsdhgl;dslhglk
jkasdhgjkdshkglhds;g
kjdghksadjglkdjslkg
kjgahkjsdhlgkdsjg;lsd
乱码是我拥有的字符串
您可以使用换行符转义序列 ( \n
):
return 'line1\nline2\nline3'
或多行字符串:
return '''line1
line2
line3'''
或者将行列表连接在一起:
return '\n'.join(['line1', 'line2', 'line3'])
您的代码没有问题。它工作正常。唯一的问题是对返回值的混淆。
当您在交互式 Python 解释器中运行语句时,Python 将打印出返回值的“表示”(除非它是None
)。表示与值本身不同。您可以使用内置repr
函数获取任何对象的表示。
字符串的repr
将包含引号,并将转义字符串的所有特殊字符。引号和转义字符实际上并不是字符串本身的一部分,只是表示的一部分。
如果用 打印出字符串print(string)
,您将只看到字符串的内容,而不是仅在表示中的任何内容。无法使表示看起来像打印输出。Python 不能那样工作。您所拥有的功能可能正是您的任务所需要的。
你可以试试这个:
str1 + '\n' + str2.
str = """hello world
goodbye mars"""
print(str)
你需要这样做:
>>> print customSpam("John","Bob","Zoo")
如果你这样做:
>>> customSpam("John","Bob","Zoo")
您将获得字符串的内部表示,而不是评估后的打印方式。