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