别再为此报错了!一文搞懂 Python 字符串的 3 种写法
在之前的章节里,我们要打印一段文字,通常是这样写的: print("Hello World")大家可能已经习惯了使用 双引号 。 但你有没有发现,有时候你在网上复制的代码,用的是 单引号 ?甚至有时候还有 三个引号 ?其实,在 Python 中,定义字符串(String)足足有 3 种方式 ! 它们不仅仅是长得不一样,更有各自独特的用途。今天我们就来把它们一次性理清楚。在 Python 中,单引号 ' ' 和 双引号 " " 的功能 几乎完全一样 。这两种写法,对计算机来说没有任何区别。 那为什么 Python 要设计两种引号呢?难道是为了增加难度吗?🤔当然不是!这是为了让我们 方便地在字符串里使用引号 。结果: 💥 报错!( SyntaxError ) 原因: Python 看到第一个 ' 和 I 后面的 ' 配对成功了,它以为字符串到这里就结束了。后面的 m Tom' 就变成了多余的“垃圾代码”,导致无法识别。✅ 正确写法(嵌套法): 为了解决这个问题,我们可以 用双引号把单引号包起来 :# 外面用双引号,里面就可以放心用单引号print("I'm Tom")
如果你的句子里有双引号(比如引用名言),外面就用单引号。# 外面用单引号,里面就可以用双引号print('孔子曰:"逝者如斯夫"')
如果不巧,你的句子里 既有单引号又有双引号 ,该怎么办? 这时候就需要请出 转义字符 (反斜杠 \)了。它的作用是告诉 Python: “兄弟,这个引号只是一个普通的文字符号,不是字符串的结束标志,别误会!”# 在引号前面加一个反斜杠 \print("I\'m Tom") print('他说:"I\'m Tom"')
虽然这种方法万能,但写起来看起来有点乱,所以能用嵌套法解决的,优先用嵌套法。前面两种方式都有一个共同的 缺点 : 它们定义的字符串,必须在一行内写完。如果你想打印一首诗,或者一段很长的 HTML 代码,用单/双引号是没法直接换行的。print("床前明月光,疑是地上霜。")# 报错!Python 不允许字符串直接跨行。
三引号可以使用 三个单引号 ''' 或者 三个双引号 """ 。 它最大的魔力在于: 支持所见即所得的换行 。poem = """床前明月光,疑是地上霜。举头望明月,低头思故乡。"""print(poem)
运行结果: 控制台打印出来的文字,格式和你写的一模一样,该换行的地方自动换行!✨🤔 细心的同学可能发现了: “这不就是我们之前学的 多行注释 吗?”如果把它赋值给变量(如 poem = """...""" ),它就是 字符串 。