Python 转义字符及用法、数据类型转换函数
ASCII编码为每个字符都分配了唯一的编号,成为编码值。在Python中,一个ASCII字符除了可以用它的实体(真正的字符)表示,还可以用它的编码值表示。这种使用编码值来间接地表示字符的方式成为转义字符(Escape Character).
ASCII编码详解:
ASCII码一览表,ASCII码对照表 (biancheng.net)
ASCII编码,将英文存储到计算机 (biancheng.net)
转义字符以\0或者\x开头、以\0开头表示后跟八进制形式的编码值,以\x开头表示后跟十六进制形式的编码值。Python中的转义字符只能使用八进制或者十六进制。
格式:
\0dd
\xhh
dd表示八进制数字,hh表示十六进制数字。
ASCII编码共收录了128个字符,\0 和 \x 后面最多只能跟两位数字,所以八进制形式 \0 并不能表示所有的ASCII字符,只有十六进制形式\x才能表示所有ASCII字符。
字符1,2,3,x,y,z对应的ASCII码的八进制形式分别是61,62,63,170,171,172,十六进制形式分别是31,32,33,78,79,7A.
示例:
1 str1 = "\061\062\063"
2 str2 = "\x31\x32\x33\x78\x79\x7A"
3 print(str1)
4 print(str2)
结果:
123
123xyz
注意:使用八进制形式的转义字符无法表示xyz,因为它们的编码值换成八进制后由有三位。
Python支持的转义字符:
示例:
1 # 使用\t排版
2 str1 = "姓名\t\t\t年龄\t\t月薪\t\t\t情感状况"
3 str2 = "张三\t\t\t18\t\t3500\t\t未婚"
4 str3 = "爱新觉罗·赵四\t98\t\t1000\t\t已婚,86嫔妃"
5 print(str1)
6 print(str2)
7 print(str3)
8
9 print("----------------------")
10
11 # \n在输出时换行,\在书写字符串时换行
12 info = "Python教程:http://c.biancheng.net/python/\n\
13 C++教程:http://c.biancheng.net/cplus/\n\
14 Linux教程:http://c.biancheng.net/linux_tutorial/"
15 print(info)
结果:
姓名 年龄 月薪 情感状况
张三 18 3500 未婚
爱新觉罗·赵四 98 1000 已婚,86嫔妃
----------------------
Python教程:http://c.biancheng.net/python/
C++教程:http://c.biancheng.net/cplus/
Linux教程:http://c.biancheng.net/linux_tutorial/
数据类型转换函数:
在使用类型转换函数时,提供的数据必须时有意义的。
示例:int() 函数无法将一个数字字符串转换成整数。
1 a = "123"
2 a = int(a)
3 print(a)
4 print(type(a))
5
6 b = "456个"
7 b = int (b)
8 print(b)
9 print(type(b))
结果:
123
<class 'int'>
Traceback (most recent call last):
File "D:\pythonProject\one day\test.py", line 241, in <module>
b = int (b)
ValueError: invalid literal for int() with base 10: '456个'