我有需要我用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'])
你可以試試這個:
str1 + '\n' + str2.
這個工作將使用return(str1 +'\ n'+ str2)? – blandman1990 2013-04-21 04:28:51
@ blandman1990是的。 – 2013-04-21 05:00:32
str = """hello world
goodbye mars"""
print(str)
'str'是abuiltin的名字,不要使用它 – jamylak 2013-04-21 07:04:37
沒有與你的代碼沒有問題。它工作正常。唯一的問題是關於返回值的混淆。
當您運行在交互式Python解釋聲明,Python會打印出返回值的「代表性」(除非它是None
)。表示與價值本身不同。您可以使用內置的repr
函數獲取任何對象的表示。
字符串的repr
將包括引號,並且將所有的字符串的特殊字符逃脫。引號和轉義字符實際上並不是字符串本身的一部分,只是表示的一部分。
如果打印出來的字符串print(string)
,你會看到字符串,沒有什麼,這只是在表現的內容之外。沒有辦法使表示看起來像打印的輸出。 Python不會那樣工作。可能你所擁有的功能正是你所需要的任務。
你需要這樣做:
>>> print customSpam("John","Bob","Zoo")
如果你只是這樣做:
>>> customSpam("John","Bob","Zoo")
你會得到字符串的內部表示,而不是如何將打印一次評估。
當我用它給了我行繼續字符錯誤 – blandman1990 2013-04-21 04:33:19
後意外字符第一個選項,當我使用這些不正確的格式化。輸出間隔中應開始文本 – blandman1990 2013-04-21 04:36:18
@RyanBland的新行:我不能幫你沒有看到你的代碼。 – Blender 2013-04-21 04:37:28