Python中处理多行字符串的三种方式及注意事项

青禾
青禾
发布时间:2026-10-11 | 3人浏览过
原创

在Python开发中,处理包含换行或长文本的多行字符串是常见需求。本文总结了三种实现方式:三引号、反斜杠续行符以及小括号,并对比了它们在保留格式和拼接行为上的差异。

方法一:使用三引号(推荐)

Python原生支持使用三个单引号 ''' 或三个双引号 """ 来定义多行字符串。这种方式最直观,能够完整保留字符串内部的换行符和缩进格式,非常适合用于文档字符串、SQL语句或多行文本展示。

>>> str1 = '''Le vent se lève, il faut tenter de vivre. 

起风了,唯有努力生存。

(纵有疾风起,人生不言弃。)'''

 

>>> str1

'Le vent se lève, il faut tenter de vivre. \n起风了,唯有努力生存。\n(纵有疾风起,人生不言弃。)'

 

>>> print(str1)

Le vent se lève, il faut tenter de vivre. 

起风了,唯有努力生存。

(纵有疾风起,人生不言弃。)

如上例所示,str1 变量直接包含了换行符,打印时能还原原始排版。

方法二:使用反斜杠续行符

另一种传统方式是在每行末尾添加反斜杠 \ 作为续行符,表示字符串在下一行继续。需要注意的是,这种方式会忽略换行符本身,将各行直接拼接在一起。

>>> str2 = 'Le vent se lève, il faut tenter de vivre. \

起风了,唯有努力生存。\

(纵有疾风起,人生不言弃。)'

 

>>> str2

'Le vent se lève, il faut tenter de vivre. 起风了,唯有努力生存。(纵有疾风起,人生不言弃。)'

对比 str1 和 str2 的输出结果可以发现,str2 中不包含换行符,所有文字连成一行。此外,部分高版本Python环境对续行符的支持可能存在差异或限制,使用时需留意具体运行环境的兼容性。

方法三:使用小括号隐式拼接

将字符串包裹在小括号 () 中,并将多行字符串字面量并列书写,Python解释器会自动将它们拼接为一个字符串。与反斜杠方式类似,这种方式也不会保留换行符,但代码结构更清晰,无需在每行末尾添加特殊符号。

>>> str3 = ('Le vent se lève, il faut tenter de vivre.'

'起风了,唯有努力生存。'

'(纵有疾风起,人生不言弃。)')

 

>>> str3

'Le vent se lève, il faut tenter de vivre.起风了,唯有努力生存。(纵有疾风起,人生不言弃。)'

实际应用场景示例

在构建SQL查询语句时,上述方法均有应用。例如,使用反斜杠拼接SQL:

sql = "select * "\
" from a "\
" where b = 1"

或者使用小括号进行隐式拼接:

sql = ("select *"
" from a "
" where b = 1")

这两种方式生成的 sql 变量内容一致,但小括号方式在视觉上更易读,且避免了反斜杠可能带来的转义歧义。

总结

Python提供了多种处理多行字符串的途径。若需保留换行格式,首选三引号;若需拼接长字符串且忽略换行,小括号方式因其简洁性和高兼容性,通常被视为更推荐的实践。反斜杠方式虽有效,但受环境限制且易出错,建议谨慎使用。

以上就是Python输入多行字符串的方法总结的详细内容,更多关于Python字符串处理技巧的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表