python转义字符
2019-03-05 本文已影响24人
strong_bone
字符串与转义字符
在字符串中,基本上可以包含任何字符,但是有一些情况需要特殊处理
-
字符串本身包含了引号
比如: let's go !,这个字符串本身就包含了单引号,如果还继续使用单引号的话就会出错,python会把第一个和第二个引号看错是一对,从而后面的内容就造成了语法错误
>>> s = 'let's go!'
File "<stdin>", line 1
s = 'let's go!'
^
SyntaxError: invalid syntax
解决方式一:
使用双引号来区分开,这样python就会知道字符串中的单引号是字符串本身的内容
>>> s = "let's go!"
>>> s
"let's go!"
反之,如果字符串内是双引号,那么就用单引号来区分开
>>> s = 'my name is "bone"'
>>> s
'my name is "bone"'
解决方式二:
使用“\”将字符串内的特殊符号进行转义,就表示告诉python,这个字符当作普通字符处理
>>> s = 'let\'s go!'
>>> s
"let's go!"
python的转义符
-
折行:\
在内容较多时,我们需要折行接着输入,就在结尾使用“\”;如下,之前只能使用三引号才能折行输入,现在通过“\”就可以折行了
>>> s = "happy,happy,happy\
... happy, happy!"
>>> s
'happy,happy,happyhappy, happy!'
-
\\
\是用来进行转义的,但是字符串中需要包含\怎么办?仍然使用\将\进行转义即可
如下,\是字符串内容的一部分,但是\n却是换行的意思,所以要对\进行转义
>>> path = "c:\new\python"
>>> print(path)
c:
ew\python
>>>
>>> path = "c:\\new\python"
>>> print(path)
c:\new\python
-
\n
如上显示,表示换行 -
\t
表示制表符
>>> print("a\tb\tc")
a b c
-
\a
响铃,如下内容,执行时系统会有提示音
>>> print("x\ay")
xy
-
\b
退格,也就是删除键
>>> print("xy\bz")
xz
-
\'
之前用过,转义单引号
>>> print('my name\'s bone')
my name's bone
-
\"
之前用过,转义双引号
>>> print("name: \"bone\"")
name: "bone"
-
\r
表示回车,这里我只是按了一次回车,其余的都是\r的作用
>>> for i in range(9):
... print("\r数字是:", i)
...
数字是: 0
数字是: 1
数字是: 2
数字是: 3
数字是: 4
数字是: 5
数字是: 6
数字是: 7
数字是: 8
-
\v
纵向的位置添加制表符
>>> print("abc\vxyz\v123")
abc
xyz
123
-
\f
换页符
在终端显示的效果跟\v 一样,但是代表的是下一页,这个在终端看不出来,如果在打印机打印内容时,遇到\f后,就会从下一页开始打印 -
\000
表示空
>>> print("123\000456")
123456
-
\x..
..表示两位,意思是用两个16进制的数来表示一个字符
>>> print("\xab")
«
-
\...
表示用三个8进制数表示一个字符
>>> print("\147")
g
当\后面的字符和\搭配无意义时,那么就会当作普通字符输出
>>> print("\happy")
\happy
>>> print("\look")
\look