python基础语法转义引号_1.11.1 单引号字符串和转义引号

字符串是值,就像数字一样:

>>> "Hello, world!"

'Hello, world!'

但是,本例中有一个地方可能会让人觉得吃惊:当Python打印出字符串的时候,是用单引号括起来的,但我们在程序中用的是双引号。这有什么区别吗?事实上,没有区别。

>>> "Hello, world!"

'Hello, world!'

这里也用了单引号,结果是一样的。那么,为什么两个都可以用呢?因为在某些情况下,它们会派上用场:

>>> "Let's go!"

"Let's go!"

>>> '"Hello, world!" she said'

'"Hello, world!" she said'

在上面的代码中,第一段字符串包含了单引号(或者叫撇号 。根据这里的上下文,应该称之为撇号),这时候就不能用单引号将整个字符串括起来了。如果这么做,解释器会抱怨道(它这么做也是正确的):

>>> 'Let's go!'

SyntaxError: invalid syntax

在这里字符串为'Let',Python并不知道如何处理后面的s(也就是该行余下的内容)。

在第二个字符串中,句子包含了双引号。所以,出于之前所述的原因,就需要用单引号把字符串括起来了。或者,并不一定要这样做,尽管这样做很直观。另外一个选择就是:使用反斜线(\)对字符串中的引号进行转义:

>>> 'Let\'s go!'

"Let's go!"

Python会明白中间的单引号是字符串中的一个字符,而不是字符串的结束标记(即便如此,Python也会在打印字符串的时候在最外层使用双引号)。有读者可能已经猜到了,对双引号也可以使用相同的方式转义:

>>> "\"Hello, world!\" she said"

'"Hello, world!" she said'

像这样转义引号十分有用,有些时候甚至还是必需的。例如,如果希望打印一个包含单双引号的字符串,不用反斜线的话能怎么办呢?比如字符串'Let\'s say "Hello, world!"'?

注意 厌烦反斜线了吧?在本章后面的内容中,将会介绍通过使用长字符串和原始字符串(两者可以联合使用)来减少绝大多数反斜线的使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值