Python 转义字符(含用法)

Python 转义字符(含用法)文章目录在 Python 字符串 一节中我们曾提到过转义字符 就是那些以反斜杠 开头的字符 ASCII 编码为每个字符都分配了唯一的编号 称为编码值 在 Python 中 一个 ASCII 字符除了可以用它的实体 也就是真正的字符 表示 还可以用它的编码值表示 这种使用编码值来间接地表示字符的方式称为转义字符 EscapeCharac 转义字符以 0 或者 x 开头 以 0 开头表示后跟八进制形式的编码值 以 x 开头表示后跟十六进制形式的编码值 Python 中的转义字符只能使用八进制或者十六

文章目录


《Python字符串》 一节中我们曾提到过转义字符,就是那些以反斜杠\开头的字符。

ASCII 编码为每个字符都分配了唯一的编号,称为编码值。在 Python 中,一个 ASCII 字符除了可以用它的实体(也就是真正的字符)表示,还可以用它的编码值表示。这种使用编码值来间接地表示字符的方式称为转义字符(Escape Character)。

转义字符以\0或者\x开头,以\0开头表示后跟八进制形式的编码值,以\x开头表示后跟十六进制形式的编码值,Python 中的转义字符只能使用八进制或者十六进制。具体格式如下:

dd 表示八进制数字,hh 表示十六进制数字。

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) 

运行结果:

注意,使用八进制形式的转义字符没法表示 xyz,因为它们的编码值转换成八进制以后有三位。

对于 ASCII 编码,0~31(十进制)范围内的字符为控制字符,它们都是看不见的,不能在显示器上显示,甚至无法从键盘输入,只能用转义字符的形式来表示。不过,直接使用 ASCII 码记忆不方便,也不容易理解,所以,针对常用的控制字符,C语言又定义了简写方式,完整的列表如下。

在这里插入图片描述
转义字符在书写形式上由多个字符组成,但 Python 将它们看作是一个整体,表示一个字符。

Python 转义字符综合示例:

 #使用\t排版 str1 = '网站\t\t域名\t\t\t年龄\t\t价值' str2 = 'C语言中文网\tc.biancheng.net\t\t8\t\t500W' str3 = '百度\t\twww.baidu.com\t\t20\t\tW' print(str1) print(str2) print(str3) print("--------------------") # \n在输出时换行,\在书写字符串时换行 info = "Python教程:http://c.biancheng.net/python/\n\ C++教程:http://c.biancheng.net/cplus/\n\ Linux教程:http://c.biancheng.net/linux_tutorial/" print(info) 

运行结果:

网站 域名 年龄 价值 C语言中文网 c.biancheng.net 8 500W 百度 www.baidu.com 20 W -------------------- Python教程:http://c.biancheng.net/python/ C++教程:http://c.biancheng.net/cplus/ Linux教程:http://c.biancheng.net/linux_tutorial/ 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231166.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号