转义符 \ (反斜线),是转义字符——转换掉原有的含义,以原样输出
如果我们声明一个变量beizi,我们想要在beizi声明的双引号中间加上一个双引号显示输出怎么办?
#要在beizi的字符串中显示一个双引号怎么办?
beizi = "多于绝大多数的人出生就是杯具,但是"我们在不断的让人生变为喜剧"
这段代码执行肯定会报错,运行结果如下:
File "/Users/liwenkai/Documents/code/py_demo/main.py", line 2
beizi = "多于绝大多数的人出生就是杯具,但是"我们在不断的让人生变为喜剧"
^
SyntaxError: invalid syntax
那我们应该怎么办呢?
多字前面的"和剧字后面的",是定义字符串边界的作。而在里面再插入一个双引号,代表着字符串定界区间为:
"多于绝大多数的人出生就是杯具,但是"
后面的:
我们在不断的让人生变为喜剧"
是一串非法的字符。
在第二个引号前面加上\(反斜线),即可解决这个问题,你可以再运行看一下。
\ 转义掉原有的定界字符串的含义,代表着字符串本身。
#要在beizi的字符串中显示一个双引号怎么办?
beizi = "多于绝大多数的人出生就是杯具,但是\"我们在不断的让人生变为喜剧"
print(beizi)
beizi = '多于绝大多数的人出生就是杯具,但是"我们在不断的让人生变为喜剧'
beizi2 = "多于绝大多数的人出生就是杯具,但是'我们在不断的让人生变为喜剧"
print(beizi)
print(beizi2)
在多行文本中,如何插入双引号和单引号都可以。也不会出现错误。
beizi = """
多于绝大"多数的人出生就是杯具,但是"我们在不'断的让人生变为喜剧
"""
print(beizi)
有的时候希望在字符串里面显示\ (反斜线)。我们再重声一次:反斜线是转义字符——转换掉原有的含义,以原样输出。
我们是不是可以这样理解:
转义掉转义字符 即 两条反斜线。
上代码试试:
#coding=utf-8
#这样只显示出来了单引号,但是没有显示出来反斜线\
shouji = '为了苹果手\'机去卖肾'
print(shouji)
#再来一段
shouji1 = '为了苹果手\\\'机去卖肾'
print(shouji1)
输出结果:
为了苹果手'机去卖肾
为了苹果手\'机去卖肾
问:为什么要在反斜线前面再加一个反斜线呢?
答:因为距离单引号近的\ 转义掉了单引号,开始的两个反斜线是转义掉反斜线(转义符)本身的意义。
转义字符有很多,我们学几个最常用的即可:
转义字符 | 含义和说明 |
---|---|
' | 转义单引号 |
\" | 转义双引号 |
\\ | 转义转义符 |
\t | 横向制表符,通常为4个空格 |
\n | 换行 |
\r | 回车 |
\a | 响音 |
注:以上列出了最常用的,其他的使用概率非常低。以后可自行百度或者提问问李文凯老师。
注意:实验前打开音箱
str = "\a"
print(str)
每次输出的时候的时候是不是听到:di~~ di ~~~的声音了?
str = "跟文凯老\n师学Python,给自己一个不同\t的思维方式"
print(str)
看看输出结果:
跟文凯老
师学Python,给自己一个不同 的思维方式