大家都在学Python开发,你和别人的差距在哪?我们为何要学习Python开发,如何才能学好这个语言呢,学有所成之后能做什么呢?

据我所知,Python大概于2000年前后(或许实际情况更早一些)传入国内,我2002年的时候在安全焦点和绿盟科技论坛上看到几个大牛在使用这个“脚本语言”,但是当时除了在黑客攻防这个极小的圈子里有人使用和交流之外,似乎并没有引起大众的重视。

时光如梭,后来的日子里Python一路高歌并迅速渗透到众多领域,居然被TIOBLE评为2010年度语言,然后更是一发不可收拾,随着机器学习、大数据、引力波、深度学习、树莓派等新名词和新领域的应用越来越广泛,Python似乎一夜之间就火起来了。目前有几百所高校和高职高专开设了Python课程,浙江、北京等几个省市正在计划在高中“信息技术”课程中引入Python,据说2018年全国计算机等级考试二级也要加入Python模块,大有全民学Python和非Python不编程的趋势。

随着我中华儿女的加入,Python的市场占有率和关注热度逐月上升,在编程语言排行榜上的位次也快速上升,终于在2017年7月在IEEE Spectrum 给出的编程语言排行榜攀登上第一位的巅峰。

TIOBLE在2017年10月给出的编程语言排行榜上,Python也是居高不下,比同期增长0.03%,而老牌的Java、C则继续保持大幅度下滑趋势,虽然目前仍保持着前两位的好名次,但若没有大的意外,很快将会优势不再。

GitHub在2017年10月公布的年度受欢迎编程语言中,Python排名第二位,超过了Java和C/C++/C#。

然而,作为Python大军中的一员,你是否曾经困惑,或者是否正在困惑:我为什么要学Python?我到底学Python干什么?为什么自己学了那么久还是什么都做不了?为什么感觉别人都那么厉害,短短几个月就能做那么多事情?而我还在一遍又一遍反复地看基础语法?这到底是为什么?

这里,我根据自己不全面的了解简单分析一下目前Python学习者可能存在的几个问题。虽然不是每个学习者都存在这些问题,但还是比较共性的,有则改之,无则加勉吧。

1、缺乏Python内功的修炼:目前很多Python程序员喜欢上来就学习各种扩展库,虽然确实有些问题似乎很快就解决了,但是有时候遇到甚至基本的语法问题也很茫然,不知道从哪里下手,这是Python内功不行的一种表现。也有些朋友有其他语言的基础,然后粗略看了一下Python的语法就开始写代码了,缺乏深入理解,导致写出来的Python代码不纯正,带有浓浓的其他语言味道,这样的代码不仅啰嗦,也发挥不出Python的优势,白白糟蹋了这么好的一个语言。

练拳不练功,到老一场空。道理大家都知道,但是内功从何而来呢?我个人觉得,内功就是基本功的长期积累。语法、运算符、内置对象、标准库对象,这些基本功除了要正确理解之外,还要千锤百炼,要有大量的练习才行的。

知道了基本功有哪些之后,还要知道自己的弱项在哪里,是基本语法不熟悉,还是内置对象用法没掌握好,还是不清楚标准库对象?如同打篮球一样,比赛时是否能取胜,取决于弹跳力、爆发力、身体协调能力、耐力、队友配合默契程度、投篮准确程度、对场上局势的准确判断能力等多方面的因素。找到弱项,然后重点练习,整体和局部交替练习,这样才能快速提高。就像做馒头揉面一样,整体揉一揉,看看哪个地方不好就重点揉揉,哪里有面疙瘩就捏开,然后再整体揉,不断重复这个过程,直到满意为止。

2、缺少相关领域的内功:汝果欲学诗,工夫在诗外。天天背“天对地,雨对风,大陆对长空”、“平仄平仄平平仄,仄平仄平仄仄平”、“记叙文六要素为时间、地点、人物、事情的起因、经过和结果”这样的基本常识是没有用的。纵使满腹经纶,没有丰富的人生阅历很难写出优美并且有内涵、有灵魂的诗,写代码也是如此。一段好的代码应该像诗一样美,其中的灵魂就是相关领域的理论和算法。只有饱读相关领域的书籍和论文,不断积累、沉淀和实战,才能达到“腹有诗书气自华”的境界。

不管什么语言,都只是一个用来描述和表达思想或算法的工具,Python只是众多工具之一,永远都不会是唯一的选择,但在很多场合中确实是个非常好的选择。在学习Python的过程中,一定要结合某个特定领域的内容去学习和应用。

要写爬虫程序,只会Scrapy和BeautifulSoup4这样的扩展库是不够的,还应该了解HTML、CSS、正则表达式和HTTP、HTTPS协议的东西,而设置了反爬机制的网站则要求掌握更多的知识和技术。

想做图像处理,只会pillow和scipy这样的扩展库是不够的,还要了解数字图像处理领域的知识,如果不知道啥叫直方图、不知道边缘提取和模式识别算法原理、不知道各种变换的精髓,等等,那会了pillow基本操作又能做什么呢?

想做计算机图形学程序,只知道pyopengl扩展库而不知道OpenGL运行机制和各函数参数含义以及纹理映射、光线跟踪等理论知识,也是啥也做不出来的。

想做游戏编程,只了解pygame扩展库是不够的,还要懂游戏策划、人机交互、游戏心理学、人工智能、音频处理、视频处理等等;想做机器学习,只知道sklearn之类的扩展库是不够的,还要知道聚类算法、协同过滤算法、KNN、支持向量机、线性回归、逻辑回归、关联规则分析等若干算法才行;想做深度学习,除了tensorflow之类的扩展库,还要知道深度前馈神经网络、深度卷积神经网络、深度堆栈神经网络、深度递归神经网络等大量理论和算法。。。不胜枚举。

3、下功夫太少:懒就一个字。很多人深得“拿来主义”精髓,总是喜欢到处复制代码然后拼凑,最好是能有可以直接使用的代码,自己能不写就不写。却不知“纸上得来终觉浅,绝知此事要躬行”、“由招熟而渐悟懂劲,由懂劲而阶及神明,然非用力之久,不能豁然贯通焉”。掌握了正确的学习方法之后,多练,可以说是攀登Python高手之巅最重要的途径。例如,我的几本Python系列图书上每个案例都有源码,但还是很多学生问我能不能提供源码文件,却不肯花点时间自己把代码打一遍并且把遇到的问题调试一下整理一下。试想,拿到源码放到IDLE、Anaconda3、PyCharm、wingIDE、Eclipse或其他Python IDE中运行一下,欧耶,结果完全正确,开心了,这个问题过去了,但是,这样子自己能学到多少呢?学任何东西都一样,功夫是练出来的,不是看出来的,更不是想出来的。

4、永远都不要妄想什么全栈:一个作家文笔再好,也不可能妄想诗词散文记叙文议论文等啥都会写。Python确实在很多领域都有重要应用,但这并不说明学Python就要啥都会做。有人可能会说“董老师,我不认同你这观点,我看你《Python可以这样学》、《Python程序设计(第2版)》和《Python程序设计开发宝典》几本书中还有微信公众号“Python小屋”里至少涉及了十几个领域的应用案例,为啥告诉我们要专一?”,这绝对是个好问题。但我是当老师的啊,除了在自己研究方向内尽可能深入研究之外,我更重要的职责是把尽可能多领域的应用方法介绍给学生和读者朋友,说不定哪位朋友就恰好需要我整理的案例。并且我有多年的知识积累(从教17年来讲过计算机相关专业差不多三分之二的课程,最多的时候曾经连续3个学期每周50多节课,每学期同时讲7门不同的课程,还分别使用C#和Python开发过多套完整的系统)。尽管如此,对于某个特定应用领域的深层次应用,我还真不一定知道,并且这种可能性还是很大的,也是正常的。

还有些朋友确实没有想过做全栈,但是一直在Python的多个应用领域摇摆不定,一会儿觉得这个有意思就开始学了,稍微一深入又觉得太难,过几天又看那个好玩就开始学,过几天又觉得不适合自己。。。。。这样肯定是不行的,一定要结合自己的专业去学Python用Python,自己主导Python学习和应用路线,而不能让Python牵着鼻子走。否则的话,再过二十年,我们来相会,你还在苦练Python基本语法!!!

免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

(责任编辑:IT培训网)

python虽然火为什么工作少_学Python开发干什么工作 人工智能方面的吗相关推荐

  1. python虽然火为什么工作少_学 Python 的理由千万条,不秃第一条

    人生苦短,我学 Python 最近几年,人工智能的崛起,顺便带来了 Python 的学习潮.就拿我来说,虽然主页是 Java,但业余也学学 Python ,玩玩爬虫,做下数据分析,简直不要太溜.学 P ...

  2. python __new__方法有什么用_学python日常工作有什么用?

    最近有一位朋友准备实习开始找工作,来跟我交流他目前找工作遇到的一些情况: "我被找工作弄得满头包,觉得好像自己学的专业很没有市场,也没有很好的大公司背书,根本没有和 HR 谈薪资的底气.&q ...

  3. python教程初级有什么用_学Python编程有什么用?Python基础教程!

    学Python编程有什么用?学习Python之后真的可以找到工作吗?Python近几年还流行吗?--关于这一系列的问题,跟着老男孩教育一起来了解一下吧. 对于非IT行业从业者来讲,比如说:数据处理相关 ...

  4. 小孩子学python有什么用途和价值_学Python有意义吗 就业前景如何?

    学习Python仍然非常有意义.学习使用Python可以提高生产率,节省时间,并且具有更高的企业价值.工作机会多,市场需求大,就业前景仍然十分可观. 学Python的意义是什么? 谈到Python,很 ...

  5. python用什么电脑配置好_学python用什么配置的电脑

    python对于电脑硬件基本没什么要求,下载python安装程序的时候,注意看下自己电脑属性是64位系统还是32位系统,再下载对应的 python安装程序. 现在电脑的各种配置均可以用来学习pytho ...

  6. 学python最重要的是什么_学Python之前,什么最重要?

    如果你想选择一种语言来入门编程,那么Python绝对是首选!其非常接近自然语言,精简了很多不必要的分号和括号,非常容易阅读理解.因此,即使是非计算机专业或者没有基础的小白,也能分分钟入门.学Pytho ...

  7. python要装在虚拟机吗_学python必须装虚拟机吗

    学python必须装虚拟机吗,软件,我就,内核,虚拟机,这款 学python必须装虚拟机吗 易采站长站,站长之家为您整理了学python必须装虚拟机吗的相关内容. 虽然,在windows上也是可以运行 ...

  8. python二级考time库吗_学python第十七节:time库的学习

    time库是python处理时间的标准库. time库的调用,可以帮助我们理解计算如何表达时间?如何提供获取系统时间并格式化输出功能?如何提供系统级精确计时功能?如何用于程序性能分析在python的官 ...

  9. python画画用哪库好_学Python画画:应用Turtle库画一个蠢萌的小黄人

    t.pensize(4) t.speed(10) 设置画笔的大小.画图的速度,可以改变数值来提升画笔的速度. python学习关注我们企鹅qun: 8393 83765 各类入门学习资料免费分享哦! ...

最新文章

  1. Markdown 语法说明
  2. 1.20 main()方法
  3. mysql query profile_MySQL Query Profile
  4. DateDiff 函数的用法
  5. 拆分备份(还原)比较大的数据库为多个bak文件
  6. uploadify 配置后,页面显示无效果
  7. 开放平台_XAuth
  8. Leetcode每日一题:23.merge-k-sorted-lists(合并K个排序链表)
  9. 大学学python用记笔记吗_学 Python 作笔记,怎么能不用 Jupyter
  10. 乡镇街道边界数据、行政村边界、省市县区划边界、建筑轮廓边界数据、流域边界数据、降雨量分布、气温分布、道路网分布
  11. java初学。加载图片
  12. 最适合Java初学者练手的项目【JavaSE项目-图书管理系统】
  13. STM8L051F3_0d_基础介绍
  14. 暗原色先验单一输入图像去雾
  15. 曲线运动与万有引力公式_考前冲刺,人手一份!高中物理公式大全,不看太亏...
  16. dhtmlxGantt standard vs dhtmlxGantt pro
  17. 【语义分割】 DRANet Scene Segmentation With Dual Relation-Aware Attention Network
  18. laravel实现点餐系统
  19. SAR学习笔记-代码部分
  20. python numpy 行 列个数_Python 用 numpy 随机抽样选择矩阵的多行或多列

热门文章

  1. 京东“百亿补贴”提前20小时上线,电商价格战开打; iPhone 15 Pro玻璃面板泄露;凹语言 0.5.0发布|极客头条
  2. 新手必备pr 2021快速入门教程「三」素材的导入与管理
  3. 6.5编程实例-立方体透视投影
  4. 系统中负负得正的兼容逻辑也许暂时能跑起来, 但迟早会坑人!
  5. C语言:正负交替的问题
  6. MATLAB 自然数e的表达式坑、如何求解含有未知量的行列式
  7. 【UE4 制作自己的载具】1-使用3dsmax制作载具
  8. 卡特兰数 默慈金数 默慈金三角形 反射原理
  9. 网络初始化失败,点击确定后将退出
  10. html怎么将背景设为黑色,文字设为白色