Python转义字符
精华
小牛编辑
170浏览
2023-03-14
在《
Python字符串》一节中我们曾提到过转义字符,就是那些以反斜杠
ASCII 编码为每个字符都分配了唯一的编号,称为编码值。在 Python 中,一个 ASCII 字符除了可以用它的实体(也就是真正的字符)表示,还可以用它的编码值表示。这种使用编码值来间接地表示字符的方式称为 转义字符(Escape Character)。
如果你对 ASCII 编码不了解,请猛击:
转义字符以
ASCII 编码共收录了 128 个字符,
我们一直在说 ASCII 编码,没有提及 Unicode、GBK、Big5 等其它编码(字符集),是因为 Python 转义字符只对 ASCII 编码(128 个字符)有效,超出范围的行为是不确定的。
字符 1、2、3、x、y、z 对应的 ASCII 码的八进制形式分别是 61、62、63、170、171、172,十六进制形式分别是 31、32、33、78、79、7A。下面的例子演示了转义字符的用法:
对于 ASCII 编码,0~31(十进制)范围内的字符为控制字符,它们都是看不见的,不能在显示器上显示,甚至无法从键盘输入,只能用转义字符的形式来表示。不过,直接使用 ASCII 码记忆不方便,也不容易理解,所以,针对常用的控制字符,C语言又定义了简写方式,完整的列表如下。
转义字符在书写形式上由多个字符组成,但 Python 将它们看作是一个整体,表示一个字符。
Python 转义字符综合示例:
\
开头的字符。
ASCII 编码为每个字符都分配了唯一的编号,称为编码值。在 Python 中,一个 ASCII 字符除了可以用它的实体(也就是真正的字符)表示,还可以用它的编码值表示。这种使用编码值来间接地表示字符的方式称为 转义字符(Escape Character)。
如果你对 ASCII 编码不了解,请猛击:
- ASCII 编码,将英文存储到计算机
- ASCII 码一览表,ASCII 码对照表(完整版)
转义字符以
\0
或者
\x
开头,以
\0
开头表示后跟八进制形式的编码值,以
\x
开头表示后跟十六进制形式的编码值,Python 中的转义字符只能使用八进制或者十六进制。具体格式如下:
\0dd
\xhh
ASCII 编码共收录了 128 个字符,
\0
和
\x
后面最多只能跟两位数字,所以八进制形式
\0
并不能表示所有的 ASCII 字符,只有十六进制形式
\x
才能表示所有 ASCII 字符。
我们一直在说 ASCII 编码,没有提及 Unicode、GBK、Big5 等其它编码(字符集),是因为 Python 转义字符只对 ASCII 编码(128 个字符)有效,超出范围的行为是不确定的。
字符 1、2、3、x、y、z 对应的 ASCII 码的八进制形式分别是 61、62、63、170、171、172,十六进制形式分别是 31、32、33、78、79、7A。下面的例子演示了转义字符的用法:
str1 = "Oct: \061\062\063" str2 = "Hex: \x31\x32\x33\x78\x79\x7A" print(str1) print(str2)运行结果:
Oct: 123
Hex: 123xyz
对于 ASCII 编码,0~31(十进制)范围内的字符为控制字符,它们都是看不见的,不能在显示器上显示,甚至无法从键盘输入,只能用转义字符的形式来表示。不过,直接使用 ASCII 码记忆不方便,也不容易理解,所以,针对常用的控制字符,C语言又定义了简写方式,完整的列表如下。
转义字符 | 说明 |
---|---|
\n | 换行符,将光标位置移到下一行开头。 |
\r | 回车符,将光标位置移到本行开头。 |
\t | 水平制表符,也即 Tab 键,一般相当于四个空格。 |
\a | 蜂鸣器响铃。注意不是喇叭发声,现在的计算机很多都不带蜂鸣器了,所以响铃不一定有效。 |
\b | 退格(Backspace),将光标位置移到前一列。 |
\\ | 反斜线 |
\' | 单引号 |
\" | 双引号 |
\ | 在字符串行尾的续行符,即一行未完,转到下一行继续写。 |
转义字符在书写形式上由多个字符组成,但 Python 将它们看作是一个整体,表示一个字符。
Python 转义字符综合示例:
#使用\t排版 str1 = '网站\t\t域名\t\t\t年龄\t\t价值' str2 = '小牛知识库\twww.xnip.cn\t\t8\t\t500W' str3 = '百度\t\twww.baidu.com\t\t20\t\t500000W' print(str1) print(str2) print(str3) print("--------------------") # \n在输出时换行,\在书写字符串时换行 info = "Python教程:https://www.xnip.cn/python/\n\ C++教程:https://www.xnip.cn/c/\n\ Linux教程:https://www.xnip.cn/linux_tutorial/" print(info)运行结果:
网站 域名 年龄 价值 小牛知识库 www.xnip.cn 8 500W 百度 www.baidu.com 20 500000W -------------------- Python教程:https://www.xnip.cn/python/ C++教程:https://www.xnip.cn/c/ Linux教程:https://www.xnip.cn/linux_tutorial/