这两段代码 没有任何区别,输出完全一样。
✅ 示例 1
print('aaaa'
'bbb')
✅ 示例 2
print('aaaa' 'bbb')
🟰 二者等价
Python 会自动把相邻的字符串字面量拼接:
'aaaa' 'bbb' → 'aaaabbb'
中间无论有:
换行
空格
缩进
tab
多个空格
都不会影响最终结果。
🟢 只要两个字符串字面量挨着,Python 就自动拼接。
📌 因此输出都是:
aaaabbb
🔍 为什么?
因为 Python 的语法规定:
两个字符串字面量相邻时,会在编译阶段自动合并。
不需要 +,不需要字符串格式化。
🎯 唯一注意
必须是 字符串字面量(引号包的) 才能自动拼接,例如:
'aaa' 'bbb' ✔ 自动拼接
"aaa" "bbb" ✔ 自动拼接
'''aaa''' "bbb" ✔ 自动拼接
a = "aaa"
b = "bbb"
a b ✘ 错误
变量不能挨着拼。
如果你愿意,我还能演示:
三引号与单引号的拼接
字符串前缀前拼接行为(r"", f"", b"")