Skip to content

Latest commit

 

History

History
182 lines (95 loc) · 3.96 KB

2.5字符串的转义字符.md

File metadata and controls

182 lines (95 loc) · 3.96 KB

转义字符

转义符 \ (反斜线),是转义字符——转换掉原有的含义,以原样输出

1. 双引号中再插入双引号报错怎么办?

如果我们声明一个变量beizi,我们想要在beizi声明的双引号中间加上一个双引号显示输出怎么办?

#要在beizi的字符串中显示一个双引号怎么办?
beizi = "多于绝大多数的人出生就是杯具,但是"我们在不断的让人生变为喜剧"

这段代码执行肯定会报错,运行结果如下:

  File "/Users/liwenkai/Documents/code/py_demo/main.py", line 2
    beizi = "多于绝大多数的人出生就是杯具,但是"我们在不断的让人生变为喜剧"
                                                                 ^
SyntaxError: invalid syntax

那我们应该怎么办呢?

多字前面的"和剧字后面的",是定义字符串边界的作。而在里面再插入一个双引号,代表着字符串定界区间为:

"多于绝大多数的人出生就是杯具,但是"

后面的:

我们在不断的让人生变为喜剧"

是一串非法的字符。

2. 怎么解决?

2.1 使用转义字符

在第二个引号前面加上\(反斜线),即可解决这个问题,你可以再运行看一下。

\ 转义掉原有的定界字符串的含义,代表着字符串本身。

#要在beizi的字符串中显示一个双引号怎么办?
beizi = "多于绝大多数的人出生就是杯具,但是\"我们在不断的让人生变为喜剧"
print(beizi)

2.2在单引号里插入双引号 或者 在双引号里插入单引号

beizi = '多于绝大多数的人出生就是杯具,但是"我们在不断的让人生变为喜剧'

beizi2 = "多于绝大多数的人出生就是杯具,但是'我们在不断的让人生变为喜剧"


print(beizi)
print(beizi2)

.3 在多行文本中插入

在多行文本中,如何插入双引号和单引号都可以。也不会出现错误。

beizi = """
多于绝大"多数的人出生就是杯具,但是"我们在不'断的让人生变为喜剧
"""

print(beizi)

3. 如何在字符串里写入\'

有的时候希望在字符串里面显示\ (反斜线)。我们再重声一次:反斜线是转义字符——转换掉原有的含义,以原样输出。

我们是不是可以这样理解:

转义掉转义字符 即 两条反斜线。

上代码试试:

#coding=utf-8
#这样只显示出来了单引号,但是没有显示出来反斜线\
shouji = '为了苹果手\'机去卖肾'
print(shouji)

#再来一段
shouji1 = '为了苹果手\\\'机去卖肾'
print(shouji1)

输出结果:

为了苹果手'机去卖肾
为了苹果手\'机去卖肾

问:为什么要在反斜线前面再加一个反斜线呢?

答:因为距离单引号近的\ 转义掉了单引号,开始的两个反斜线是转义掉反斜线(转义符)本身的意义。

4. 更多转义字符

转义字符有很多,我们学几个最常用的即可:

转义字符 含义和说明
' 转义单引号
\" 转义双引号
\\ 转义转义符
\t 横向制表符,通常为4个空格
\n 换行
\r 回车
\a 响音

注:以上列出了最常用的,其他的使用概率非常低。以后可自行百度或者提问问李文凯老师。

4.1 试试\a 响音

注意:实验前打开音箱

str = "\a"

print(str)

每次输出的时候的时候是不是听到:di~~ di ~~~的声音了?

4.2 试试回车\n和\t

str = "跟文凯老\n师学Python,给自己一个不同\t的思维方式"

print(str)

看看输出结果:

跟文凯老
师学Python,给自己一个不同      的思维方式