查看原文
其他

零基础学了8个月的Python,到底有啥感悟

奔跑的鳄鱼 菜鸟学Python 2020-11-17

菜鸟学Python粉丝的第20篇投稿

阅读本文大概需要3分钟

粉丝独白

从正式开始学习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真正的精髓所在。



以上就是奔跑的鳄鱼同学的心得体会,也许这些经验能够帮忙到刚入门的小白或者有类似经历的同学,大家可以一起交流,鼓励!技术的道路进无止境,也非常欢迎粉丝踊跃投稿。


你的故事值得我为你打call



推荐阅读:

这个概念,每个学Python的人一定要懂

帮你赚到第一桶金的Python代码

这8道Python面试题,你答不答的出来

太好玩了!用Python写个弹球游戏2.0

Python武功如何快速进阶

2017年度电影榜单出炉



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存