Python学习:转义字符及用法、数据类型转换函数

举报
python教程 发表于 2022/09/21 16:56:45 2022/09/21
【摘要】 ASCII编码为每个字符都分配了唯一的编号,成为编码值。在Python中,一个ASCII字符除了可以用它的实体(真正的字符)表示,还可以用它的编码值表示。这种使用编码值来间接地表示字符的方式成为转义字符(Escape Character)。转义字符以\0或者\x开头、以\0开头表示后跟八进制形式的编码值,以\x开头表示后跟十六进制形式的编码值。Python中的转义字符只能使用八进制或者十六进...

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

转义字符以\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.

示例:

str1 = "\061\062\063"
str2 = "\x31\x32\x33\x78\x79\x7A"
print(str1)
print(str2)

结果:

123
123xyz

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

Python支持的转义字符:
在这里插入图片描述
示例:

# 使用\t排版
str1 = "姓名\t\t\t年龄\t\t月薪\t\t\t情感状况"
str2 = "张三\t\t\t18\t\t3500\t\t未婚"
str3 = "爱新觉罗·赵四\t98\t\t1000\t\t已婚,86嫔妃"
print(str1)
print(str2)
print(str3)

print("----------------------")

# \n在输出时换行,\在书写字符串时换行
info = "人生苦短\n\
我用python\n\
Python学习交流群:711312441"
print(info)

结果:

姓名			年龄		月薪			情感状况
张三			18		3500		未婚
爱新觉罗·赵四	98		1000		已婚,86嫔妃
----------------------
人生苦短
我用python
Python学习交流群:711312441

数据类型转换函数:
在这里插入图片描述
在使用类型转换函数时,提供的数据必须时有意义的。

示例:int() 函数无法将一个数字字符串转换成整数。

a = "123"
a = int(a)
print(a)
print(type(a))

b = "456个"
b = int (b)
print(b)
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个'
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。