所以我经常写这样的多行字符串:
>>> s = """hello this is the first line
... and this is the second"""
>>> s
'hello this is the first line\nand this is the second'
但最近我遇到了这个:
>>> s = ( 'hello this is the first line'
... 'and this is the second' )
>>> s
'hello this is the first lineand this is the second'
好的,line\nand
成了lineand
。这两种方法之间是否存在其他差异?我什么时候应该使用第二个?
答案 0 :(得分:3)
第二种形式本质上是一种隐式连接。当您需要编写一个应该在一行上的非常长的字符串时,您可以使用它,但是您希望在IDE /文本编辑器(通常只能显示它)中更容易阅读每行每行大约80-100个字符。)
答案 1 :(得分:3)
首先,'括号技巧'实际上不是多行字符串,只是隐式行连接。 python的这种行为记录在here。
你写的方式是不同的东西,所以你应该使用它取决于你是否想要字符串中的换行符。
如果您想尝试使用带括号的版本,并明确将\n
字符放入每一行,则更好的选择是使用textwrap.dedent
。
答案 2 :(得分:-2)
>>> s = ( 'hello this is the first line'
... 'and this is the second' )
>>> s = ( 'hello this is the first line''and this is the second' )
>>> s = ( 'hello this is the first lineand this is the second' )
>>> s = 'hello this is the first lineand this is the second'
结果
>>> s
'hello this is the first lineand this is the second'