测试工程师Python开发实战
上QQ阅读APP看书,第一时间看更新

1.1.2 Python的用途

学习Python,我们可以从事Web应用开发、网络爬虫、人工智能、数据分析、自动化运维等相关领域的工作,具体的岗位如Python爬虫工程师、大数据工程师、人工智能工程师等。

下面我们具体介绍Python的用途。

(1)Web应用开发。因为Python是一种解释型的脚本语言,开发效率高,所以非常适合用来做Web应用开发。Python有上百种Web应用开发框架,有很多成熟的模板技术,选择Python开发Web应用,不仅开发效率高,而且运行速度快。常用的Web应用开发框架有Django、Flask、Tornado等。许多知名的互联网企业也将Python作为主要的Web应用开发语言,例如豆瓣、知乎、Google、YouTube、Facebook等。

(2)网络爬虫。网络爬虫是Python比较常用的一个应用场景,Google在早期大量地使用Python语言作为网络爬虫的基础,带动了整个Python语言的应用发展。以前国内很多人用采集器搜集网上的信息,现在用网络爬虫收集网上的信息比以前容易很多了,例如从各大网站爬取商品折扣信息,比较获取最优选择;对社交网络上发言进行收集和分类,生成情绪地图,分析语言习惯;爬取网易云音乐某一类歌曲的所有评论,生成词云;按条件筛选获得豆瓣的电影、图书信息并生成表格等。应用实在太多,几乎每个人学会使用网络爬虫之后都能够通过网络爬虫去做一些有趣且有用的事。

(3)人工智能。人工智能是现在非常火的一个方向,人工智能热潮让Python语言的未来充满了无限的可能。目前几个非常有影响力的人工智能框架,大多是通过Python实现的,这是因为Python有很多工具方便做人工智能,例如NumPy、SciPy可用于数值计算,scikit-learn可用于机器学习,PyBrain可用于神经网络,matplotlib可用于数据可视化。但是,人工智能的大部分核心算法的实现还是依赖于C/C++的,因为人工智能的核心算法是计算密集型的,需要非常精细的优化,还需要GPU、专用硬件之类的接口,这些都只有C/C++能做到。

(4)数据分析。Python在数据分析处理方面有很完备的生态环境。大数据分析中涉及的分布式计算、数据可视化、数据库操作等,我们都可以选择Python中成熟的模块完成其功能。例如,对于Hadoop MapReduce和Spark,都可以直接使用Python完成其计算逻辑,这无论对于数据科学家还是对于数据分析师都是十分便利的。

(5)自动化运维。Python对于服务器运维也有十分重要的用途。由于目前几乎所有Linux发行版中都自带了Python解释器,因此在Linux服务器上使用Python脚本进行批量化的文件部署和运行调整是很不错的选择。从调控SSH/SFTP用的paramiko,到监控服务用的supervisor等,Python提供了全方位的工具集合,在这个基础上,结合Web应用,开发运维工具也会变得十分简单。