2020年学习python还有前途嘛?python主要可以做什么?

2020-03-26 11:01发布

2条回答
无语
2楼 · 2020-03-26 14:34

人工智能啊,未来的趋势,最少未来这块会有很大的发展,

007
3楼 · 2020-10-12 09:46






读者留言:学校把Python做为主语言教给我们,但是我也去了解过,其实Python门槛挺高的,所以我在自学Java,但是我现在并不清楚到底要不要全心的去学Java,学校里的课程也越来越繁重,而学Java又会要投入很多精力,我很纠结疑惑。

Python火,但是Python的火,是火在这几个领域!通过学习Python就可以去找工作吗?都2020,别那么天真

Python应用的方向主要有5个方面:

人工智能和机器学习数据分析爬虫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的语法简单,容易教——这恐怕是主要原因啊,我这样说会不会被社会毒打?


05、自动化测试

说句实在话,Python的自动化测试还是应用非常广泛的,考虑到框架的脚本质量,测试用例的简单性,以及运行模块可能存在的技术弱点,我给大家推荐五款Python的测试框架。

1)RobotFramework,主要用于测试驱动类型的开发与验收中。

2)Pytest,特点是开源、易学。

3)PyUnit,针对单元测试的Python类自动化测试框架,收到Junit的启发。

4)Behave,允许团队执行BDD(行为驱动开发,behavior-drivendevelopment)测试。

5)Lettuce,专注于具有行为驱动开发特征的普通任务。


06、最后

以上观点都是我个人主观给出的,不一定正确哈,仅做参考。

如果说,有些读者的学历非常牛逼,然后学习能力也非常强,那么选择人工智能、机器学习、数据分析,我觉得前途是光明的,既能赚钱,待遇又好,还不可替代,不学Python绝对亏。

如果说,有些读者学历一般,做程序员仅仅是为了糊口饭吃,那么我觉得可以把Python作为第二语言来学,不要当做主语言。搞点范围许可内的爬虫,自动化测试,我就觉得挺好的。况且Python这门语言本身是非常优秀的,不然怎么搞人工智能,海量数据分析,对吧?

对Python感兴趣或者是正在学习的小伙伴,可以加入我们的Python学习扣qun:855408893,从0基础的python脚本到web开发、爬虫、django、数据挖掘数据分析等,0基础到项目实战的资料都有整理。送给每一位python的小伙伴!每晚分享一些学习的方法和需要注意的小细节,学习路线规划,利用编程赚外快。点击加入我们的python学习圈


相关问题推荐

  • 回答 3

    换行。比如,print hello\nworld效果就是helloworld\n就是一个换行符。\是转义的意思,'\n'是换行,'\t'是tab,'\\'是,\ 是在编写程序中句子太长百,人为换行后加上\但print出来是一整行。...

  • 回答 42

    十种常见排序算法一般分为以下几种:(1)非线性时间比较类排序:a. 交换类排序(快速排序、冒泡排序)b. 插入类排序(简单插入排序、希尔排序)c. 选择类排序(简单选择排序、堆排序)d. 归并排序(二路归并排序、多路归并排序)(2)线性时间非比较类排序:...

  • 回答 70
    已采纳

    前景很好,中国正在产业升级,工业机器人和人工智能方面都会是强烈的热点,而且正好是在3~5年以后的时间。难度,肯定高,要求你有创新的思维能力,高数中的微积分、数列等等必须得非常好,软件编程(基础的应用最广泛的语言:C/C++)必须得很好,微电子(数字电...

  • 回答 28

    迭代器与生成器的区别:(1)生成器:生成器本质上就是一个函数,它记住了上一次返回时在函数体中的位置。对生成器函数的第二次(或第n次)调用,跳转到函数上一次挂起的位置。而且记录了程序执行的上下文。生成器不仅记住了它的数据状态,生成器还记住了程序...

  • 回答 9

    python中title( )属于python中字符串函数,返回’标题化‘的字符串,就是单词的开头为大写,其余为小写

  • 回答 6

    第一种解释:代码中的cnt是count的简称,一种电脑计算机内部的数学函数的名字,在Excel办公软件中计算参数列表中的数字项的个数;在数据库( sq| server或者access )中可以用来统计符合条件的数据条数。函数COUNT在计数时,将把数值型的数字计算进去;但是...

  • 回答 1

    head是方法,所以需要取小括号,即dataset.head()显示的则是前5行。data[:, :-1]和data[:, -1]。另外,如果想通过位置取数据,请使用iloc,即dataset.iloc[:, :-1]和dataset.iloc[:, -1],前者表示的是取所有行,但不包括最后一列的数据,结果是个DataFrame。...

  • Python入门简单吗2021-09-23 13:21
    回答 45

    挺简单的,其实课程内容没有我们想象的那么难、像我之前同学,完全零基础,培训了半年,直接出来就工作了,人家还在北京大公司上班,一个月15k,实力老厉害了

  • 回答 4

    Python针对众多的类型,提供了众多的内建函数来处理(内建是相对于导入import来说的,后面学习到包package时,将会介绍),这些内建函数功用在于其往往可对多种类型对象进行类似的操作,即多种类型对象的共有的操作;如果某种操作只对特殊的某一类对象可行,Pyt...

  • 回答 8

     相当于 ... 这里不是注释

  • 回答 4

    还有FIXME

  • 回答 3

    python的两个库:xlrd和xlutils。 xlrd打开excel,但是打开的excel并不能直接写入数据,需要用xlutils主要是复制一份出来,实现后续的写入功能。

  • 回答 8

    单行注释:Python中的单行注释一般是以#开头的,#右边的文字都会被当做解释说明的内容,不会被当做执行的程序。为了保证代码的可读性,一般会在#后面加一两个空格然后在编写解释内容。示例:#  单行注释print(hello world)注释可以放在代码上面也可以放在代...

  • 回答 2

    主要是按行读取,然后就是写出判断逻辑来勘测行是否为注视行,空行,编码行其他的:import linecachefile=open('3_2.txt','r')linecount=len(file.readlines())linecache.getline('3_2.txt',linecount)这样做的过程中发现一个问题,...

  • 回答 4

    或许是里面有没被注释的代码

  • 回答 26

    自学的话要看个人情况,可以先在B站找一下视频看一下

没有解决我的问题,去提问