首页
学习
活动
专区
工具
TVP
发布

自学python的心路历程

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

一.我的情况

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

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

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

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

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

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

二.心路历程

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

1.徘徊

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

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

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

2.入门

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

1).学习资料

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

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

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

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

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

2).开发工具:

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

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

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

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

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

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

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

3.进阶

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

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

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

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

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

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

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

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

一个人自学很有可能因为动力不足而中途放弃,可以尝试加入一个或几个适合自己的网络群体(QQ、微信、 社区等),寻找志同道合的学习伙伴,相互交流、相互促进.

我之前加入了知识星球里的某小圈,群主比较热心负责,感觉效果还不错,到现在也有参加他们的活动。

三.学习体会

1.坚持学习

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

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

2.细化目标

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

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

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

3.多练多看

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

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

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180428A1K0KN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券