二哥,你好,我是大专生。学校教我们的主要语言是Python,但我也学过。其实Python的门槛还是挺高的,所以我是自学Java的,但是现在不知道该不该全身心的去学Java。学校的课程越来越繁重,学习Java会需要很大的精力。我很纠结,很迷茫。希望大家能给我一些建议。如果二哥看到了,希望百忙之中抽出点时间。感激的!这是一个读者在微信上问我的问题,我给他的回复是“Python很流行,学Python就好”。但是当我在B站看到杨哥的一段视频时,我终于深感后悔,觉得自己给的建议是不负责任的。意识到自己的问题后,我赶紧给读者留言“向前看”,并致歉。另外,想起之前有读者问过我类似的问题,我的回答不够严谨,所以打算写一篇文章反思一下。杨哥视频中分享的内容还是很严谨的。他认为Python应用主要有五个方向:人工智能和机器学习数据分析爬虫web开发自动化测试是有根据的,所以我完全赞同杨哥的观点。01.人工智能和机器学习人工智能和机器学习是Python应用的重头戏,但是对学历的要求非常高,高到我自己都申请不了,很残酷。浏览了招聘网站,发现这方面的职位不多,但是薪资还是挺不错的,15K到30K不等。但是招聘信息直接说,“我们的程序员朋友都是211/985学校毕业的”,我会被这个拒之门外。我的学习成绩不好,所以申请“人工智能和机器学习”领域的职位非常困难。考虑到我的读者已经扩散到初中生,我不得不郑重地说一句:“如果你喜欢学习,那就好好学习,不要把青春浪费在该学习的年纪。”哦,我去,说这句话,真有种拿自己当反面教材的感觉。上小学的时候,我一直是第一名,因为学校的招生范围和我们村一样大,一共有三十、四十个学生。上初中时,我一直保持前四名,因为学校的招生范围和我们乡一样大,一共三四百名学生。进入高中时,我一直保持在全校前十,但在全县没有任何优势。真是天外有天,人外有人。大多数人都是平凡而普通的,所以这方面的工作真的很难竞争。02.数据分析一般的小公司,比如我工作的公司,根本不需要数据分析,因为重心在产品上,如何把产品做好吸引用户才是关键。如果产品的用户数量很少,那么数据就没有任何价值。这也意味着数据分析工程师的职位将相对较少。毕竟,拥有大数据的公司屈指可数。不过说实话,这个岗位的待遇还是很不错的,发展前景也不错。如果你学习能力强,硬性指标过关,可以试试。工资高的原因通常是供大于求,也就是岗位多人才少。但实际情况是数据分析岗位少,合格人才少。在公司里,只会反复操作SQL、Excel等基础工具的数据分析师,很容易被自动化工具取代,他们又犯愁了。如果高校主要教授Python作为主要语言,我觉得肯定不是这两个方向(人工智能、机器学习和数据分析)。第一个原因是学历问题,第二个原因是老师不一定能教好,更谈不上学生会不会学。03.爬虫关于爬虫,不得不提一下杨哥视频评论区的一句话。是不是玩笑,我觉得值得深思。我的一个同学因为搞爬虫被带走了。好在他不是罪魁祸首,只是登记而已。爬行动物是近年来非常热门的话题。甚至买了一本爬虫类的入门书来了解它们。但是Java要写的素材越来越多,这个计划一直没能实现。什么是爬行动物?一些不是程序员的读者可能不是很清楚。我问过维基百科,它是这样说的:“爬虫,又称网络蜘蛛,是一种按照一定规则自动抓取互联网信息的程序或脚本。”在大环境下,这种爬虫有点麻烦。以我为例,我希望我的文章只发表在我想发表的平台上。如果其他平台在未经我授权的情况下将我的文章爬走并放到自己的平台上,我会觉得自己知识渊博。产权受到侵犯。文章还好,我愿意公开,要是涉及到一些隐私信息被爬取,那就更糟了,对吧?现在很多平台都在做反爬,而且做得越来越好。这在一定程度上有点“魔高一尺,路高一尺”的意思,爬虫工程师也不容易。04.Web开发没听说有多少互联网大公司用Python做Web开发的。杨大哥说以前豆瓣用的是Python,现在不用了。无论如何,如果将Java与Python进行比较,很明显它在Web开发中具有巨大的优势。无论从技术框架、性能还是应用规模来看,同等条件下,Java工程师显然更受欢迎。许多培训机构称赞Python在Web开发方面的巨大优势,开发效率高,速度快。嗯,其实我觉得应该是因为Python的语法简单易学——这大概是主要原因。我这样说会不会被社会打?嗯,给小伙伴们推荐一个网站:https://developer.mozilla.org/zh-CN/docs/learn/Server-side/Django学习Django,一个流行的、功能齐全的服务器端网站框架,用Python编写,来自MDN,最重要的是,它是免费的。05.自动化测试说实话,Python的自动化测试还是被广泛使用的。考虑到框架的脚本质量,测试用例的简单性,以及运行模块可能存在的技术弱点,我向大家推荐五个Python测试。框架。1)RobotFramework,主要用于测试驱动类型的开发和验收。2)Pytest,特点是开源,易学。3)PyUnit,一个类Python的单元测试自动化测试框架,灵感来自于Junit。4)Behave,它允许团队执行BDD(行为驱动开发)测试。5)Lettuce,专注于常见任务,具有行为驱动开发的特点。06.最后,以上意见都是我主观给出的。它们不一定是正确的。它们仅供参考。如果说有的读者学历非常好,学习能力很强,那么选择人工智能、机器学习、数据分析,我觉得前途一片光明。他们能赚钱,薪水高,无可替代。Python绝对输了。如果有的读者学历一般,只是为了糊口而做程序员,那我觉得Python可以作为第二语言来学习,而不是作为主要语言来学习。我觉得在权限范围内做一些爬虫和自动化测试还是不错的。再说Python这门语言本身就很好,不然怎么搞人工智能,搞海量数据分析,对不对?
