1.3 Python的应用领域
1.Web应用开发
由于Python是一种解释型的脚本语言,开发效率高,所以非常适合用来做Web开发。如通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。
Python有上百种Web开发框架,有很多成熟的模板技术,选择Python开发Web应用,不但开发效率高,而且运行速度快。人们定义了WSGI标准应用接口来协调HTTP服务器和基于Python的Web程序之间的调用。
Python常用的Web开发框架有Django、Flask、Tornado、web2py等,可以让程序员轻松地开发和管理复杂的Web程序。
许多知名的互联网企业将Python作为主要开发语言:豆瓣、知乎、果壳网、Google、NASA、YouTube、Facebook等。
由于后台服务器的通用性,除了狭义的网站之外,很多App和游戏的服务器端也同样用Python实现。
2.网络爬虫
网络爬虫是Python比较常用的一个场景,国际上,Google在早期大量地使用Python语言作为网络爬虫的基础,带动了整个Python语言的应用发展。以前国内很多人用采集器搜刮网上的内容,现在用Python收集网上的信息,比以前容易了很多,例如:从各大网站爬取商品折扣信息,比较获取最优选择;对社交网络上的发言进行收集分类,生成情绪地图,分析语言习惯;爬取网易云音乐某一类歌曲的所有评论,生成词云;按条件筛选获得豆瓣的电影书籍信息并生成表格等。通过网络爬虫可以做很多好玩、有趣、有用的事。
3.科学计算
Numpy、Scipy、Matplotlib可以让Python程序员编写科学计算程序。与科学计算领域最流行的MATLAB相比,Python是一门通用的程序设计语言。Python比MATLAB所采用的脚本语言的应用更广泛,并有更多程序库的支持。虽然MATLAB中许多高级功能和工具箱目前还无法替代,但在日常的科研开发之中仍然有很多的工作是可以用Python来代替的。
4.数据分析
在数据分析处理方面,Python有很完备的生态环境。“大数据”分析中涉及的分布式计算、数据可视化、数据库操作等,Python中都有成熟的模块可以选择并完成其功能。对于Hadoop-MapReduce和Spark,都可以直接使用Python完成计算逻辑,这无论是对于数据科学家,还是对于数据工程师而言,都是十分便利的。
5.自动化运维
Python对于服务器运维而言也有十分重要的用途。由于目前几乎所有Linux发行版中都自带了Python解释器,所以使用Python脚本进行批量化的文件部署和运行调整都成了Linux服务器上很不错的选择。Python中也包含许多方便的工具,从调控ssh/sftp用的paramiko,到监控服务用的supervisor,再到bazel等构建工具,甚至是conan等用于C++的包管理工具,Python提供了全方位的工具集合,在这个基础上,结合Web,开发方便运维的工具会变得十分简单。