Python 中如何定义多行字符串(把长字符串拆到多行)?
Python 多行字符串的方法:三引号保留换行、反斜杠续行、括号内相邻字符串自动拼接。本文对比各种写法及适用场景。
三种方式:三引号 """...""" 保留换行(适合真正的多行文本);行尾反斜杠 \ 续行(拼接成单行);圆括号内多个相邻字符串自动拼接(推荐用于长字符串拆行)。
方法一:三引号(保留换行)
text = """第一行
第二行
第三行"""
原样保留所有换行和缩进,适合 SQL、HTML 模板、文档字符串。
方法二:反斜杠续行(拼成单行)
long_string = "这是一段很长的字符串,我想把它拆成多行来写,\
让代码更易读。"
注意续行的下一行缩进会被带入字符串,需要对齐到行首或接受空格。
方法三:括号内相邻拼接(推荐)
long_string = (
"这是一段很长的字符串,"
"我想把它拆成多行来写,"
"每行一个片段,自动拼接。"
)
相邻的字符串字面量会自动拼接,缩进不会带入,代码最干净——PEP 8 推荐的长字符串写法。
常见问题(FAQ)
Q:三引号字符串开头的缩进怎么处理?
A:函数/类内部的三引号字符串会带上缩进。用 textwrap.dedent() 去掉公共缩进。
Q:f-string 能多行吗?
A:能。三引号 f-string(f"""...""")或括号拼接的多个 f-string 都可以。
Q:多行字符串里包含引号怎么办?
A:三引号字符串里单双引号随意用,只要不和定界符冲突(连续三个相同引号)。