谁说Python找工作难?人生苦短,Python工程师你们还好吗?

栏目: Python · 发布时间: 4年前

内容简介:前几天看到某网站看到有人提了这么个问题,Python这么火,为啥找工作这么难呢?近几年人工智能的发展确实推动了Python的热度,Python出现在了中小学课本,产品经理、运营等非程序员职业都认识到了Python这门语言的重要性,甚至有些非互联网行业的员工都跟风的学起了Python,你一定会问,Python凭什么这么火?人工智能出现前Python有这么火吗?我们先不拿Python与Java、C这些老大哥做比较,因为差距确实是存在的,但从这两年的各大榜单的编程语言排名数据来看,它确实稳居前几名,而且趋势越来越

前几天看到某网站看到有人提了这么个问题,Python这么火,为啥找工作这么难呢?

谁说 <a href='https://www.codercto.com/topics/20097.html'>Python</a> 找工作难?人生苦短,Python工程师你们还好吗?

近几年人工智能的发展确实推动了Python的热度,Python出现在了中小学课本,产品经理、运营等非 程序员 职业都认识到了Python这门语言的重要性,甚至有些非互联网行业的员工都跟风的学起了Python,你一定会问,Python凭什么这么火?人工智能出现前Python有这么火吗?

谁说Python找工作难?人生苦短,Python工程师你们还好吗?

我们先不拿Python与 Java 、C这些老大哥做比较,因为差距确实是存在的,但从这两年的各大榜单的编程语言排名数据来看,它确实稳居前几名,而且趋势越来越猛,直逼编程语言的头号老大,令人意想不到的是曾经风靡一时的 PerlRuby 似乎在一点点淡出我们的视线。

但不可否认,很多在编程界摸爬滚打数十年的技术大牛依然保持本心,无论是Perl、Ruby、 goPHP 、Java、C还是现在热门的Python,都有其忠实的追随者,无论时代如何改变,初心不变。

谁说Python找工作难?人生苦短,Python工程师你们还好吗?  

时代在变化,市场经济有周期轮回,编程语言又何尝不是呢?

有人说Python现在是大牛市,现在科技前沿都在用Python,它是最先进的生产力;

有人说算法是独立于语言的,我周围搞科研的,没有见谁用Java做算法的,做工业级产品需要大量 码农 搬砖,Java啰嗦但是可靠性高,搞算法研究的代码绝对比做软件产品的规模小得多,没必要用Java,Python足矣;

有人说python目前火是因为广泛用于人工智能,而人工智能是需要有数学基础的,这可能是与其他语言的差别之处;

有人说搞人工智能,需要有学历,资历,能力当基础。你光会语言,有啥用?你没研究生学历,根本没有这种工作机会,没有机会哪来实际经验;

有人说这些语言我都不看好,还是go语言未来有发展;

有人说还是学C吧,不用担心过时;

有人说Python中国要的少,想继续追高估计有点难了,大多数企业都招Java和C++……

反正每个人都各执己见,你根本无法去判断谁对谁错,因为每个人都有自己偏爱的语言。

那Python之前火吗?

其实在技术圈Python很早就广为人知了,特别适用于做 MVP(最小可行性)产品,运用在创业初期的产品开发,同时在测试、运维、科研等领域也被广为使用。我们熟悉的社交应用Instagram、流量全球第4的社交新闻站点Reddit、云计算管理平台OpenStack以及企业ERP管理平台Odoo等,都是早期用 Python 开发出来的明星产品。

近几年又因人工智能的热潮,Python爱好者借势将Python推向了一个新的高度,就连教育部门都开始重视Python,促使很多人跟风效仿。于是他们产生了这样的错觉:用三四个月的时间学会Python就可以轻松找工作。然而他们并不知道,学会和实践之间差了时间和努力!

谁说Python找工作难?人生苦短,Python工程师你们还好吗?

百度搜索指数里,Python搜索指数从2011年开始一直是平滑增长,从2017年开始超过Java,而Java基本没啥变化,甚至有下降的趋势。

很多Java、 C语言 爱好者看到这样的数据会慌会气愤,其实他们不知道,大部分Python开发者掌握的第一门语言都不是Python,可能他们之前就掌握了Java、C++等其他语言和计算机相关的理论知识,而对于他们来说,学Python自然是轻车熟路,只是工作碰巧遇到了Python。

Python 虽然看起来简单,但是用好不容易,特别是大规模的团队对 Python 的要求就更高了,你去市场上去看,一般招Python都是要求有一定经验的。

总结下Python找工作,你可能会遇到的问题(以下来源于学生的真实反馈):

一、一学就会,一写就懵。

学过 Python 的同学,肯定都学习过列表、元组,如果是通过Atstudy网校教程的话,肯定都学习过列表和元组的访问、修改和删除操作。

不知道有多少人还记得第一次看这部分内容的感觉,反正我的感觉是「很简单嘛,和想象中差不多」,那几个操作已经很熟悉了。

有一次我在处理一个字符串拼接,我是用的元组,然后我 append 半天,总是报错,我记得很清楚呀,我学习的时候明明是有这个方法的呀,为什么就是不行呢?

等我回去仔细一看,嘿,append 竟然是列表的方法,这知识点简单么?忒简单了,可以信手拈来么?不行。

举例这个已经是最简单的部分了,类似的我还在多个元素拼接上吭哧过半天,才发现元组必须和元组类型进行拼接,不然也是报错。

如果需要两个元组拼接后不是合成一个元组,而是形成一个新的复合型元组,那就更要纠结一会了。

看完我上面说的是不是觉得很简单,请动手写一写,或者回忆下自己当初是怎么解决这些问题的。

古人云「看书如流水,编码如便秘」,甚是。 建议解决方案: 多动手实操练习,真的能熟能生巧噢。

二、原样照抄我会,稍加变通就懵逼。

我之前很多的脚本都是 python2.6 写的,因为 py2 已经不更新了,所以我正尝试逐步改为 py3。

有一次我拿一个简单的脚本试试效果,脚本功能很简单,就是把一个PE文件内容使用文本方式读取出来,然后暴力搜索其中是否存在某指定字符串,并得出搜索结果。

py2读取文件内容的写法是:

def test_readfile2(filepath):

"""读取文件内容

Args:

filepath:目标文件全路径

Returns:

context:读取到的文件内容

"""

with open(filepath, 'r') as obj:

context = obj.read()

return context

同样的写法,在 py3 中执行会报错:

UnicodeDecodeError:'gbk'codec can't decode byte 0x90 in position 2: illegal multibyte sequence

根据之前弱弱的经验,一看也知道是编码的问题,但是我反复的 encode 或者 decode,都是无济于事。

明明知道是很简单的问题,但就是搞不定,那种无奈,实在是很无奈。

一次偶然的机会,终于知道了解法,方法果然很简单:

def test_readfile3(filepath):

"""读取文件内容

Args:

filepath:目标文件全路径

Returns:

context:读取到的文件内容

"""

with open(filepath, 'r', errors='ignore') as obj:

context = obj.read()

return context

仅仅是加了一个参数 errors,一切都搞定了,是不是有种豁然开朗的感觉。

建议解决方案: 只有自己亲自踩过的坑才是真的坑,一定要多动手实操练习,了解每一种变通的可能。

三、基本用法会,稍微进阶就懵逼。

用 Python 写 GUI 的同学,应该有部分是使用的 wxPython 这个库,反正我是用的这个。

如果只是写个主界面,大家都会定义一个主窗口类,比如 MainClass 之类的,其他控件也可以按教程一步步操作实现。

有次我需要在主界面之外加一个设置窗口,同时设置项更新后,主界面要立刻响应。

这个响应函数我是写到主窗口的类里面的,搞了半天,我就是不知道怎么在子窗口类中调用父窗口类里面的方法,网上也搜了很久,就是没找到有类似的问题以及解决方案。

明明知道是很简单的问题,但就是搞不定,那种无奈,实在是很无奈。

后来仔细看了网上的一些实现的例子,发现可以在父窗口类中把 self 作为参数传递给子窗口,子窗口再通过这个self 来进行父窗口类中方法的调用,完美解决。

同样的回过头看看解决方法,真的是很简单,而且也确实给人豁然开朗的感觉,但这又明明就是一个稍微进阶了一下的基本用法而已。

不动手时不知道自己有多弱,上手后才追悔莫及。

建议解决方案:多动手实操练习,每一个遇到的问题,都是自我进阶的阶梯。

总结:

有人问独孤求败,君子剑和青锋剑哪个好?

独孤求败说,这些不重要,只要技术到了,拈花飞叶皆可伤人。

杨过和郭靖武功天下卓绝,然而武林中绝大多数人表示:

“前辈,哪个门派能招一大拨杨过、郭靖和独孤求败?”

编程语言的竞争也是如此,就,而 Python 的代码虽然简单,但不同的人写出来的代码千差万别。

至于Python这么火,为什么你还找不到工作?我想说Python这门语言确实是有前途的,这两年大家都在给Python疯狂打Call,让Python成为所谓的第一语言,大家都在学,一个大胆的猜测就是未来 Python 将会像英语一样成为大家必备的一个技能。

但是如果你现在啥都不会,只会Python,你去找工作的确有点困难,当然并不见得学Java找工作就容易了,最主要的还是对整个计算机体系的掌握,语言作为 工具 只是很小的一部分。

欢迎加入 51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ                     群:                    755431660


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Persuasive Technology

Persuasive Technology

B.J. Fogg / Morgan Kaufmann / 2002-12 / USD 39.95

Can computers change what you think and do? Can they motivate you to stop smoking, persuade you to buy insurance, or convince you to join the Army? "Yes, they can," says Dr. B.J. Fogg, directo......一起来看看 《Persuasive Technology》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码