Python的应用方向主要是如下几个方面,这几个方面也都是笔者经历过的,不过Python作为通用的编程语言,还可以应用到很多很多大家没有想到的领域。
1.人工智能开发
AI应用开发实际上可以使用非常多的编程语言,比如Java、C++甚至JavaScript,但是Python无疑是使用最多可以说是处于垄断地位的AI编程语言,机器学习标准框架Scikit-learn只能用Python开发,深度学习标准框架TensorFlow的主语言是Python,对TensorFlow有非常大威胁的PyTorch也是使用Python语言进行应用开发的。AI开发方向对从业人员有学校、学历、数学基础、统计基础的要求,而且目前主要是大型科技企业有需求,要求从业人员硕士学历以上、数统或计算机专业毕业。但随着社会需求的增长与人工智能产业化的加速,对从业人员的要求肯定会逐步降低,毕竟做AI应用的工程师在使用框架的时候很多算法只需要调用API即可,而无需掌握底层数学理论的推导与算法设计。
2.数据分析挖掘
传统数据分析主要是从Excel与数据库中取数据来分析,现在加上从数据仓库中取数据进行大数据分析(或称为数据挖掘),而数据挖掘就需要掌握机器学习算法,如果只是使用的话其实挺容易,直接调用框架现成的API即可,大家掌握了算法的使用场合与使用条件就可以很好地应用了,对数学的要求其实并不高,只是数学好对理解算法的原理有很大帮助;硕士生可以把算法工程师作为目标,进行算法设计,数据科学家也主要是进行算法研究与设计的。当然数据科学中常用的统计学基本概念还是要熟练掌握的。
3.大数据开发
以Hadoop为代表的大数据平台主要用于存储与处理海量数据,不过Hadoop的MapReduce数据处理框架需要将HDFS所在的磁盘作为临时存储,所以数据处理的效率不高,这样Spark基于内存的数据处理框架就具备替代MapReduce的能力,目前情况也基本验证了这一点。Spark大数据应用开发可以使用Scala/Java/Python来开发,Python开发大数据应用占用的市场份额也在逐步提高。
4.Web企业级应用
Web企业级应用开发方向目前主流是Java与PHP语言,大型企业级应用使用Java,中小型应用可以选择PHP,Python也可以使用Django或Flask框架开发企业级应用,但总体而言Java占据了霸主地位,Python在企业级应用开发领域想撼动Java的位置现在还看不到希望。
5.自动化测试
自动化测试工程师应该属于高级测试工程师范畴了,自动化功能测试通过测试脚本模拟人的动作来测试产品的功能,自动化性能测试通过测试脚本来模拟多线程并发等等。原来自动化脚本C/Java语言居多,目前的现状是Python占据霸主地位,自动化测试工程师言必称Python,很是恐怖!!
6.自动化运维
自动化运维现在流行的说法叫“智慧运维”,系统级别的任务往往使用LinuxShell脚本编程,业务级别的运维功能使用Python占绝大多数,笔者在深圳电信工作时就写过不少Python的运维脚本。不过高级运维才会让你去写Python脚本咯,需要混不少年才可能有机会,而且需要进的是大公司。
更多资讯请关注笔者“语凡提”,向智慧化身阿凡提致敬,致力于分享大数据/数据分析/人工智能视频!