身为一个全栈工程师可以告诉你,java能干的活,python都能干。
不争论开发语言哪个最好,我学校里学的java,地铁通勤时候学会的python,项目里学会的nodejs和go,运营自己独立网站时学会的php,哪一门语言我认为都挺好。
我偏向于喜欢用python开发爬虫和简单的数据接口,先说下特点,尽管其他语言也能用来搞爬虫,但是python的几个爬虫框架比如scrapy是我用过的最好学的一个。再加上python本身是一种解释性开发语言,对变量的声明不像java那么严格,还有大量专门为了网络请求设计的第三方包,我认为python来做爬虫天生就有一种顺畅感。
还有就是开发接口,java中使用springboot开发接口项目,动不动就吃掉一大堆内存,python这种万能胶水语言也有一些web框架,比如说Django、Flask等。我之前写微信小程序,云开发那时候还没有很成熟,需要调用后台接口的时候,使用java来实现业务,对我那个小服务器的内存是个不小的压力。然后就接触到了Flask这个框架,用它提供最轻量的数据交互接口已经完全满足我的需求,对于纯api项目,也可以使用Flask来做,本身python开发就迅速,加上flask的简洁设计,完全切合敏捷开发。
python还能做数据分析,尤其是许多运营岗位如今也需要对数据进行分析,尽管excel也能完成花哨的数据分析,但学习门槛相对于python其实更高,反正我是一直没学会excel那套数据抓取和分析的功夫。倒是python因为使用方便,可以直接在命令行里,用最笨的方法一步步调试获取请求来的页面数据,逻辑也很直观。
python也是搞人工智能那堆东西比较好的一门语言,我朋友是人工智能专业研究生,之前向他请教过对抗生成网络需要用的东西,高数知识自不必说,两个知名的框架TensorFlow和Torch都支持python语言,很多机器学习库都是使用python来写的,如果打算学机器学习,又不会python,那就比较尴尬,除非你的C语言功底很高。
我觉得喜欢接触编程的朋友,如果一开始不熟悉开发语言,完全可以从python学起,作为入门,我当时在地铁上每天上下班一个小时看博客学python,一星期以后差不多就已经能够自己开发东西,上边这门课,对于纯小白来说应该还算是比较友好,至少能轻松入门没多大问题。
但,编程这件事,师傅领进门,修行在个人,如果想要深入专研,还需要下功夫啊。