python简介
全世界有众多的编程语言(大概有600多种),流行的可能有20多种,包括C/C++、Java、Go、perl、scala、shell、PHP、Julia、R、Python
,Python是一种非常容易上手,对于非计算机背景的同学非常友好的编程语言。Python编写的代码可读性非常好,因此很容易理解他人的代码逻辑与编写代码。
Python就为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteries included)”。用Python开发,许多功能不必从零编写,直接使用现成的即可。除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。
许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美国航空航天局)都大量地使用Python。
在数据科学领域有着绝对的优势地位,cs背景的同学做数据科学的工作,python用得非常多,有一些统计背景的同学可能习惯用R,但是也可以快速迁移到python。整个AI生态,有非常高的python语言倾斜程度。
深度学习/人工智能
google:tensorflow
facebook:pytorch+caffe2
Amazon:mxnet+gluon
百度:paddlepaddle
非常容易上手的一些package:Keras Tflearn tensorlayer
机器学习
numpy scipy pandas scikit-learn xgboost/LightGBM
大数据
大数据整体是由Java/scala等语言主导的方向,但是目前有很多python的方式可以无缝衔接使用,从早期的hadoop生态可以通过hadoop streaming使用python脚本完成Map-Reduce任务,到现在大家都在广泛使用的spark也有python的接口,而且在效率上和其他语言并没有太大的差别。
原因
时间非常宝贵,“算法工程师”、“数据科学家”需要用数据驱动的方式去解决实际生活中的各种问题,但是花大量的时间去开发不是一个很高效的方式,理想的状况是,你把主要的精力放在分析业务场景和数据,找到更好更贴切的方式解决问题本身上,而快速地coding验证或者开发服务。