400字范文,内容丰富有趣,生活中的好帮手!
400字范文 > python学习手册-Python学习手册(第4版) 中文版.pdf

python学习手册-Python学习手册(第4版) 中文版.pdf

时间:2021-11-09 17:44:58

相关推荐

python学习手册-Python学习手册(第4版) 中文版.pdf

您所在位置:网站首页 > 海量文档

&nbsp>&nbsp计算机&nbsp>&nbspPython

Python学习手册(第4版) 中文版.pdf1162页

本文档一共被下载:次,您可全文免费在线阅读后下载本文档。

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

2.该文档所得收入(下载+内容+预览三)归上传者、原创者。

3.登录后可充值,立即自动返金币,充值渠道很便利

第八部分

高级话题

第36章

Unicode和字节字符串

在本书的核心类型部分关于字符串的一章中 (第 章),我有意地限制了大多数

7 P y t h o n

程序员需要了解的字符串话题的子集的范围。因为大多数程序员只是处理像A S C I I这样

的文本的简单形式,他们快乐地使用着Python 的基本的 字符串类型及其相关的操作,

str

并且不需要掌握更加高级的字符串概念。实际上,这样的程序员很大程度上可以忽略

Python 3.0 中的字符串的变化,并且继续使用他们过去所使用的字符串。

另一方面,一些程序员处理更加专业的数据类型:非A S C I I 的字符串集、图像文件内

容,等等。对于这些程序员 (以及其他可能某一天加入这一队伍的程序员),在本章

中,我们将介绍P y t h on字符串的其他内容,并且探讨P y t h on字符串模型中一些较为高级

的话题。

特别是,我们将介绍Python支持的Unicode文本的基础知识——在国际化应用程序中使用

的宽字符字符串,以及二进制数据——表示绝对的字节值的字符串。我们将看到,高级

的字符串表示法在Python 当前版本中已经产生了分歧:

• Python 3.0为二进制数据提供了一种替代字符串类型,并且在其常规的字符串类型

中支持 文本 ( 看作 的一种简单类型)。

Unicode ASCII Unicode

• Python 2.6为非ASCII Unicode文本提供了一种替代字符串类型,并且在其常规的字

符串类型中支持简单文本和二进制数据。

此外,由于P y t h o n 的字符串模式对于如何处理非A SC I I文件有着直接的影响,我们还将

在这里介绍相关话题的基础知识。最后,我们还将简单地看看一些高级字符串和二进制

工具,例如模式匹配、对象pickle化、二进制数据包装和XML解析,以及Python 3.0 的字

符串变化对它们产生影响的方式。

893

正式来说,本章是关于高级话题的一章,因为并不是所有的程序员都需要深入U n i c o d e

编码或二进制数据的世界。如果你需要关注处理这两种形式,那么,你将会发现P y t h o n

的字符串模式提供了所需的支持。

Python 3.0 中的字符串修改

P y t h o n 3.0 中最引入注目的修改之一,就是字符串对象类型的变化。简而言之,P y t h o n

2.X 的 和 类型已经融入了Python 3.0 的 和 类型,并且增加了一种新的

str unicode str bytes

可变的类型bytearray。bytearray类型在Python 2.6 中也可以使用 (但在更早的版本中

不能用),但是,它在Python 3.0 中得到完全支持,并且不像是Python 2.6 中那样清楚地

区分文本和二进制内容。

特别是,如果我们处理本质上是U n i c o d e或二进制的数据,这些修改对于代码可能会有

切实的影响。实际上,作为首要的一般性规则,我们需要如何关注这一话题,很大程度

上取决于遇到如下的哪种情况:

• 如果处理非ASCII Unicode文本,例如,在国际化应用程序或某些XML解析器的结

果这样的环境中,你将会发现P y t h o n 3.0 中对文本编码的支持是不同的,但是可能

比Python 2.6 中的支持更加直接、易用和无缝。

• 如果处理二进制数据,例如,使用st r u c t模块处理的图形或音频文件的形式或打包

的数据,我们需要理解Python 3.0 中新的bytes对

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名:

验证码:

匿名?

发表评论

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。