8个月的Python学习历程,他的经历感动了整个程序员圈子!

开发 后端
正式开始学习Python到现在差不多8个月的时间了,虽说进展比较缓慢,但多少也算有些进步和体会,现在想把把这大半年来的学习情况简单梳理一下,既是给自己做个总结,也希望能给与我情况类似的朋友们一点帮助。

从正式开始学习Python到现在差不多8个月的时间了,虽说进展比较缓慢,但多少也算有些进步和体会,现在想把把这大半年来的学习情况简单梳理一下,既是给自己做个总结,也希望能给与我情况类似的朋友们一点帮助。

本篇文章有几千字,是奔跑的鳄鱼同学辛苦写了几天的总结,也许对初学者有用,建议大家耐心看完。

[[226978]]

一.我的情况

作为一名非技术类岗位在职人士,学习Python不以转行求职为目标不以提升工作能力为目的、不以直接经济利益为诉求,仅仅当作一项业余活动来看待。当然,这种情况下学习的劣势是显而易见的:

  • 没有明确的目标,学习方向不固定

  • 没有强烈的动机,学习欲望不强烈

  • 没有项目的支撑,学习环境不理想

就我自身情况而言,由于长期从事非技术类岗位的工作,无论对web开发还是数据分析,相关知识都比较欠缺。 另外由于工作比较忙,不能保证每天都有机会使用互联网,相信就这一点而言,很多打算学习Python的朋友都要比我有优势。

不过,严格来说我也不算是完全零基础,毕竟是工科专业出身,读书时参加过ACM之类的比赛,做过计算机方面的一些项目,编程的基础还是有一点。

二.心路历程

从最开始接触Python到现在,我把自己的学习历程大体分成徘徊、入门、进阶三个阶段。

1.徘徊

最开始了解Python这门语言大概是2年多以前的事了,当时动过学Python的念头,但就像前面说的那样,缺乏明确的目标和强烈的欲望,学习这件事刚开始不久就被***期搁置了。

第二次打算学习Python是去年夏天,当时刚好自学通过了一门资质认证,下半年打算给自己再找一个新目标,就又想起了Python,庆幸的是这次坚持了下来,一直到现在。

说起来这次能够成功入门并坚持学习,“菜鸟学Python”这个头条号功不可没,事实就是地讲,这个头条号里有很多适合小白和新手的东西,能够让你在短时间内对Python语言、应用领域、学习方向有一个大概的了解,能够帮助你一步一步地正式展开对Python的学习。

2.入门

要想入门一门语言,有两个要素无法回避的,一是学习资料,二是开发工具。

1).学习资料

网上的视频、书籍、博文等学习资料可谓铺天盖地,但毕竟我们的学习时间是有限的,不可能去一一尝试,选好适合自己的学习方式和资料对入门者来说是很关键的一步。

我的选择是阅读纸质书籍,选几本适合自己的书静下心来认真阅读,书中的代码一定要仔细琢磨(有条件的可 以自己把代码写一遍,加深理解),实在看不懂的地方可以暂时跳过,但一定要坚持读下去,说白了就是“硬啃”

这里我着重介绍两本入门书籍:

  • 《a byte of Python》:它***的作用是让你对Python这门语言有一个 整体、全面的了解,为下步学习奠定基础。

  • 《Python核心编程(第二版)》:需要注意的是 要一定要买“第二版”而不是“第三版”,另外这本书的中文版里面有一些错误,如果遇到了请不要怀疑,它就是错的!

2).开发工具:

学习Python以来,陆续接触过IDLE、pycharm、sublime text、spyder、Ipython五个编辑器,往期文章里有篇文章(Python开发工具之神兵利器),对开发工具进行了推荐,这里我简单阐述一下对上述五种工具的使用感受:

  • IDLE: Python安装自带工具,被很多人诟病,但我觉得它安装简单,反而很适合初学者。如果实在不喜欢,可以在学习一段时间后改选其他的工具。

  • pycharm:专业级神器,缺点是比较笨重,平时写小程序的话一般不用。

  • sublime text:轻量级神器,我的***,非常喜欢它的界面。

  • Anaconda:集成了大量数据分析相关库,安装方便,另外它的调试功能据说也比较强大。缺点是界面比较难 看,代码补全功能也不完善。

  • Ipython:又称jupyter,Anaconda自带,我最近才开始使用,能够实时查看代码输出(这一点也很适 合初学者)

***再补充一点Python版本选择的问题,其实这个问题真的真的不用纠结,因为py2和py3的差别非常小,随便选一个尽快上手才是真谛。当然,对于没有明确需求的初学者,我还是建议选择Python入手,毕竟Py3是大势所趋。

3.进阶

这里所谓的“进阶”并不是说已经度过了入门阶段,而是指在学习Python基本语法的基础上做一些扩展,向着实际应用迈出***步。

目前来看学习Python主要有三个方向:web开发、数据分析、机器学习。个人觉得Python在web开发领域没有太大的优势,而机器学习需要大量的理论和技能基础、入门门槛较高,所以我最终的选择是从数据分析入手。

这一阶段的学习方法除了自己阅读资料外,***能找一些外部的支持,对口专业的在校生和在职人员或者是身边的老手请教。如果都没有可以从网络上寻求帮助,这方面我主要采取了下面两种途径:

1).结合自身情况购买一门在线课程

买在线课程的***作用不是它提供的视频和资料,而是给你一个与其他人共同学习交流的氛围和机会,有的课程会设置进度或者时间限制,这些都可以对自学起到督促作用。

现在网上的课程很多,我觉得没有***的,只有最适合。有的课程一套七八千RMB,虽然质量很高,但对于业余玩家来说是否必要还要看自己的选择。

我当时选的是一套300元左右的爬虫课程(为了排除打广告的嫌疑,平台名称这里就不写了),说这套课程有些缺陷,但它确实成功地带领我入门爬虫、入门数据这个领域,客观来讲还是物有所值的。

2).寻找并加入适合自己的网络群体

一个人自学很有可能因为动力不足而中途放弃,可以尝试加入一个或几个适合自己的网络群体(QQ、微信、 社区等),寻找志同道合的学习伙伴,相互交流、相互促进.如果大家想要学习交流欢迎给我私信,私信关键词:001.系统坚持到关键词会自动发送。

三.学习体会

1.坚持学习

坚持是一个老生常谈的话题,不过这里想说的重点略有不同,生活中我们都有很多事情要忙,不是所有人都能坚持每天挤出时间来 完成学习任务。

对于这一点我们要正确看待,“三天打鱼两天晒网”的状态是很正常的,学习中断了等有时间后继续就可以,要学会调整心态,不必因学习受阻而气馁、放弃,要接受这种并不顺利的学习状态,这才是我们业余学习者应有的坚持。

2.细化目标

在学习过程中,***能够制定比较细小的目标,然后不断更新,像做一个web网站、开发一个小游戏之类的中 期目标,个人认为并不适合每一个初学者。

我们需要根据自身的学习程度和技能水平不断细化、调整当前的目标, 例如在语言学习初期可以设定“搞清楚is和==之间的关系”、“学习模块调用”之类的目标。

随着学习的推进可以调整 为“写一个小型爬虫”、“清洗并分析一组数据”之类的目标,以此类推。制定适合自己的目标可以让学习更有动力, 反之则会增强挫败感。

3.多练多看

  • “练”是指在学习过程中要勤于动手写代码,在学习初期,哪怕是照抄书本上的代码也可以加深对程序的理解

  • “看”是指要善于阅读和学习其他人优秀的代码,这样才有可能慢慢体会到python真正的精髓所在。 

责任编辑:庞桂玉 来源: 今日头条
相关推荐

2015-06-17 10:05:41

编程 程序员

2015-04-08 10:57:15

程序员程序员四年经历

2017-05-23 16:36:06

程序程序员

2014-11-03 14:43:38

程序员

2018-01-10 12:09:12

Android开发程序员

2012-08-22 09:13:05

程序员

2014-10-13 11:05:55

程序员实用技术

2011-06-15 08:39:10

程序员

2016-02-01 15:43:37

成功程序员习惯

2015-03-18 10:20:32

程序员程面试取胜编程面试技巧

2018-06-06 11:09:22

2018-06-22 15:05:03

程序员裸辞人工智能

2011-02-14 13:05:17

PythonWeb

2018-01-26 14:35:16

程序员入门经历

2016-07-27 13:16:16

程序员编程英语

2012-09-17 09:25:28

程序员学习非程序

2018-09-04 15:15:56

程序员开发时间

2020-08-12 08:04:26

Java技术开发

2020-02-22 21:51:43

程序员Microsoft SServerSQL

2020-11-20 08:01:37

程序员产品经理转型
点赞
收藏

51CTO技术栈公众号