流畅的 Python(11):序列构成的数组 2

阅读数:13 2019 年 11 月 20 日 16:56

流畅的Python(11):序列构成的数组 2

内容简介
本书致力于帮助 Python 开发人员挖掘这门语言及相关程序库的优秀特性,避免重复劳动,同时写出简洁、流畅、易读、易维护,并且具有地道 Python 风格的代码。本书尤其深入探讨了 Python 语言的高级用法,涵盖数据结构、Python 风格的对象、并行与并发,以及元编程等不同的方面。

你可能注意到了,之前提到的几个操作可以无差别地应用于文本、列表和表格上。我们把文本、列表和表格叫作数据火车……FOR 命令通常能作用于数据火车上。1
——Geurts、Meertens 和 Pemberton
ABC Programmer’s Handbook

1 Leo Geurts, Lambert Meertens, and Steven Pemberton, ABC Programmer’s Handbook, p. 8.

在创造 Python 以前,Guido 曾为 ABC 语言贡献过代码。ABC 语言是一个致力于为初学者设计编程环境的长达 10 年的研究项目,其中很多点子在现在看来都很有 Python 风格:序列的泛型操作、内置的元组和映射类型、用缩进来架构的源码、无需变量声明的强类型,等等。Python 对开发者如此友好,根源就在这里。

Python 也从 ABC 那里继承了用统一的风格去处理序列数据这一特点。不管是哪种数据结构,字符串、列表、字节序列、数组、XML 元素,抑或是数据库查询结果,它们都共用一套丰富的操作:迭代、切片、排序,还有拼接。

深入理解 Python 中的不同序列类型,不但能让我们避免重新发明轮子,它们的 API 还能帮助我们把自己定义的 API 设计得跟原生的序列一样,或者是跟未来可能出现的序列类型保持兼容。

本章讨论的内容几乎可以应用到所有的序列类型上,从我们熟悉的 list,到 Python 3 中特有的 strbytes。我还会特别提到跟列表、元组、数组以及队列有关的话题。但是 Unicode 字符串和字节序列这方面的内容被放在了第 4 章。另外这里讨论的数据结构都是 Python 中现成可用的,如果你想知道怎样创建自己的序列类型,那得等到第 10 章。

流畅的Python(11):序列构成的数组 2

图灵地址 https://www.ituring.com.cn/book/1564

评论

发布