第三方库
Python 有各种各样的第三方库为Python开发者提供了极大的便利。当你想搭建网站时,可以选择功能全面的Django、轻量的Flask等Web框架; 当你想写一个小游戏时,可以使用PyGame框架; 当你想做一个爬虫时,可以使用Scrapy 框架; 当你想做数据统计分析时,可以使用Pandas数据框架……这么多丰富的资源可以帮助我们高效快捷地做到想做的事,就不需要再重新造轮子了。
那么,如何根据自己的需求找到相应的库呢?
可以在awesome-python.com这个网站上按照分类去寻找,上面收录了比较全面的第三方库。比如,当我们想找爬虫方面的库,查看 Web Crawling这个分类,就能够看到相应的第三方库的网站与简介:

可以进入库的网站查看更详细的介绍,并确认这个库支持的是Python 2 还是 Python 3, 不过绝大多数常用库已经都支持了这两者。
另外,还可以直接通过搜索引擎查找 ,比如,输入关键词: Python 爬虫 库 ; 如果你能尝试用英文搜索(python web crawling library),会发现更大的世界,比如,stackoverflow上的优质讨论。
计算生态和模块编程
Python有超过12万的第三方库,形成了庞大的计算生态,方便实现模块编程思想。
Python语言从诞生之初致力于开源开放,建立了全球最大的编程计算生态。
Python官方网站提供了第三方库索引功能(the Python Package Index,PyPI), 网址如下:
http://pypi.python.org/pypi
该页面列出了Python语言9万多个第三方库的基本信息,这些函数库覆盖信息领域技术所有技术方向。需要说明的是,Python语言的函数库并非都采用Python语言编写。由于Python有非常简单灵活的编程方式,很多采用C、C++等语言编写的专业库可以经过简单的接口封装供Python语言程序调用。这样的黏性功能使得Python语言成为了各类编程语言之间的接口,Python也被称为”胶水语言“。
正因为Python的”黏性“,围绕它迅速形成了全球最大的编程语言开放社区,建立了9万多个第三方库的庞在规模,构建了计算生态。
十几年前,开源运动深入开展,专业人士开始大量贡献各领域最优秀的研究和开发成果,并通过开源库形式发布出来。现在,编程领域形成了庞大的计算生态,需要一种编程语言或方式将不同语言、不同特点、不同使用方式的代码统一起来。历史选择了Python语言。
Python第三方程序包括库(library)、模块(module)、类(class)和程序包(package)等多种命名,我们也可以统一命名为”库“。内置的库称为标准库,其他库称为第三方库。
在计算生态思想指导下,编写程序的起点不再是探究每个具体算法的逻辑功能和设计,而是尽可能利用第三方库进行代码复用,探究运用库的系统方法。这种像搭积木一样的编程方式,称为”模块编程“。每个模块可能是标准库、第三方库、用户编写的其他程序或对程序运行有帮助的资源等。
模块编程与模块化设计不同,模块化设计主张采用自顶向下设计思想,主要开展耦合度低的单一程序设计与开发,而模块编程主张利用开源代码和第三方库作为程序的部分或全部模块,像搭积木一样编写程序。
对于目前绝大多数编程语言设计是用于开发专业功能,而不是用于构建计算生态,因此,需要专业程序员经过漫长学习才能够掌握并开发有价值的程序。Python语言却不同,它不是其他语言的替代,而是一种真正面向计算生态的语言。