不是程序员学python有什么用-学习python,难道是为了当一名苦逼的程序员吗?

最近在和朋友聊天的时候,朋友问了我这样一个问题,问我:你报培训班学习python有用吗?听说程序员虽然工资高,但是工作强度很大,天天加班而且还会遇到中年危机,不像律师,会计这种越老越挣钱。当我听完后, 便回了一句,我为什么要去当程序员啊?

据我所知,在培训班学习python的主要是完全没有任何编程基础,听信各类培训班所言,认为python容易入手,同时以后的收入不低的毫无编程基础小白。

不过,从我这一年多的学习下来,我可以很负责的告诉诸位,

如果你是为了当一名程序员,那么最好不要从python学起,如果你是为了学一门可以在以后工作上用到的计算机技术,那么python是你的最优选择,相比之下Excel都可以不用掌握

。为什么这么说,下面我会从以下两个个方面为大家解释。

1 python容易学不过是一种推销的手段。

为什么小白选择编程语言的时候往往都会去学python,我想大部分是听了所谓的python是编程中最容易学习的语言。就这样好像许多人都觉得python好学,就连我的大学老师一提到python就说这个容易,让我们有时间可以去学一学。

不过,我这一年学下来,却并不这么认为。所谓python容易学习,是指它的代码书写量上是比较好掌握的,别的语言要十几行代码才能实现的功能,python可能只要几行,量少固然是比较容易记忆和掌握的,但是我们都知道,绝大多数程序员的看家本领是什么?其实是CV大法,有了这个方法,代码量的大小又有什么意义,更何况代码量的多与少其实到了一定程度只是增加了你的工作量,并没有增加难度。

但是在其背后的原理以及对语言深层次的理解上,不论是python还是Java,亦或是C,对于没有经过系统的理论学习的人来说都是很难弄懂的,换而言之,只要你能把这些东西弄明白,任何语言都可以很轻松的掌握,这也是为什么C语言是大学计算机专业必学的课,因为它是所有高级语言中最接近底层,通过它可以更好的将计算机程序的运行原理解释。

这是想成为一名优秀程序员必须要掌握的知识,而这在培训班是不会教授给大家的,因为他们知道,即使告诉你,你也未必会懂,所以往往会告诉大家以后遇到某某情况这样写就可以了。这对于不想当程序员的人来说是完全够了,但是对于一名程序员来说是完全不够,因为你以后是靠代码为生,所以必须要做到知其然,知其所以然。而这个知其所以然的过程对于零基础的人来说将会是痛苦万分的,至少我在了解背后原理的时候是掉了不少的头发。

况且,

你以为掌握了一门python就可以去当程序员了吗?这显然是错误的

,拿python的django框架举例,学习django不仅要你掌握python的语法,还要你懂得数据库的使用,Git的使用,简单的JS,HTML,CSS的基础,当然最重要的是要掌握Linux的使用,掌握了这些,你才有资格去应聘一名python的后端开发师。

而这些内容,怎么可能会在几个月里面就能学会呢?那些补习班所谓的六个月拿到高薪不过是吸引你去学习的噱头,

任何一门语言没有个几年的积淀,怎么可能完全掌握?

所以不要认为python容易,python容易学只是一种噱头,如果你想当好一名程序员的话,python与其他语言一样,都是需要时间去磨练的。而有这个时间,为何不去学C,学Java呢?至少目前来看前者是语言的常青树,后者是当下需求最大的语言之一,工作岗位也比python多不少,所以你真的想从事程序员一职,目前建议先从C或者java入手,

而且掌握了C或者java以后在学python也不会花很多的时间

c83b5606c497488f89c3a59824c48362

2 python就像二十年前的Word和Excel

众所众知,二十年前,计算机还没有走进家家户户的时候,还没有几个人会使用Word和Excel这些办公软件,可是现在一看,几乎绝大多数岗位都对这些有一定的要求。而究其原因还是这些软件简单,方便,实用。而python也具备这些条件。

也许有人会问,你之前不才说python不好学吗?没错,python不好学,但是针对那些想要从事程序员的人来说,因为他们不仅要理解python如何运行,还要明白更多的关于计算机的其它知识。但是对于一般人来说,我虽然知道这些东西是如何运行的,但是我知道这样做可以实现自己的某个目的,最为重要的是我不需要关心代码的运行效率和耦合性。

对于前者,大家很好理解,我使用Excel表去统计数据,需要知道为什么用SUM函数就可以求和吗?用PS去修图,需要知道套索工具抠图的原理吗?很明显我们是不需要的,我们只要会用就可以了,即只要知其然,而不需知其所以然。

python亦是如此,之前说过python由于语法结构简洁,所以一般人可以很快的入门,不过这个入门对于我们来说并没有太大的用处,因为你即使入门了,也很难写出一个像样的代码。不过没关系,你写不出来,但是别人可以写出来啊,python有着极其庞大的第三方库,这些库封装了各种各样的代码,可以实现各种各样的功能,我们可以直接拿过来使用,而不需要自己动手写。我们在使用这些代码的时候也并不需要知道这些代码是如何实现这一功能的。

以爬虫为例,request库是爬虫常用的库,对于以后要从事爬虫的人来说,request的库仅仅只是所要学习的一小部分,但是对于我们来说,request库几乎可以满足个人爬虫的全部需求,这段时间在家,闲着无聊便从网上爬了十几部小说来看,而代码总和一共也不过50行,我也不需要考虑爬取效率,被反扒等情况,并且也不至于因为这个就被抓去吃牢饭。

7c15011b56fa4d41b51c26f5f0ffebce

当然你要把某些库学到极致也不是容易的事,这和我们把word,Excel用到极致是一样的。不过我们掌握其基础,就可以解决自己的很多问题,岂不美哉。

对于代码的运行效率和耦合性,我想大家或多或少都有所耳闻,什么python虽然语法简单,但是因为是面向对象,所以运行效率差;什么代码要高耦合,低内聚才是好代码。这都是说给程序员听得,对于一般人来说根本不需要达到这个要求。

继续以爬虫为例,我们都知道爬虫最为关键的两点一是可靠的获得数据,二便是高效的获取数据。为了高效的获得数据,减少爬虫的时间,线程,分布式等都应运而生。

不过这与我们又有什么关系呢?我们只要注重前者,确保数据能够被获取即可,因为个人爬虫一般不会爬的数据不会太大,假设你是一名股民,再过一个月上市公司就要发2019年的财务报表了,你要批量下载这些报表,因为你要分析数据。假设一个报表的pdf文件为3M,目前中国工3500多家上市企业,那么满打满算你也就爬10G的数据,这看似很多,其实与那些爬虫公司以T为单位爬取的数据来比只不过是九牛一毛而已。

所以我们不必关心程序的运行效率,因为对于我们一般人来说几分钟或者几小时的等待是可以接受的。因此,对于与python相关一些知识我们也可以不必掌握,例如之前所说的线程,分布式等。

同样的,既然我们对程序的运行效率都没有要求,那么我们对代码的书写格式更没有要求了,因为我们写的代码往往是一次性的,也不是给别人看的,最为重要的是代码基本上都写的很烂,不过又有什么关系呢?反正我有不是靠代码吃饭的,只要能实现我的目的,代码再烂又有谁在乎呢?

总而言之,学会python后,虽然上限无法猜测,但是下限一定不会很低,就像Excel表一样,真正用的好的人其实也是要花很多时间的,不过我们只要会基础,那么基本上就够了,如果遇到一些自己不会的操作,直接百度一下,不就可以了吗?python不也一样吗?如果遇到一些自己预期之外的错误,直接面向百度编程,基本都能解决问题,虽然你不知道为什么。

44197ef7fd6141eebf76068bfa94c5bd

好的,说了这么多,我想大家都或多或少有些明白吧。

想要当一名程序员,那么最好不要从python入门,因为简单的入门往往会带来痛苦的深入。

如果你想选一门语言,作为一种提升自己素质的技术,那么非python莫属。

如果你已经工作了,我个人的建议是掌握python的语法后,直接学习数据处理与分析,因为对数据进行高效的利用是几乎是每个企业关心的重点之一。当然这里不是让你向机器学习和人工智能上面发展,不过掌握一些基础的数据处理和分析,就足以使你比其他人更快更好的完成一些简单繁琐的信息处理工作,至少比使用Excel进行数据处理要快的多,这会让你更快的脱颖而出。

如果你还在上大学,那么我建议学完python语法,可以先学django或flask这些web框架,然后在学数据分析。因为在大学有很多时间,而且自己写个网站也是个值得骄傲的事,如果你的网站创意想法好的话,说不定还会有人访问然后发展起来了呢?毕竟梦想还是要有的,万一实现了呢?最为重要的是,在你毕业后实在找不到工作,也可以靠这个在一家小公司暂时救救急。

最后,给大家两句关于python忠告

一:爬虫写的好,不一定牢饭吃得饱,说不定吃的是满汉全席呢!因为爬虫不等于黑客。

二:人工智能不是你想学会就能学的,如果你想学,首先要确保自己高数过得去,据我所知,培训机构的机器学习的班级几乎都是研究生。

2ba2303a9e0e45afb66a773c362a269e

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值