不少初学 Python 或者准备学习 Python 的小伙伴问我如何学习 Python。今天就说说我当时是怎么学习的。

缘起

我大学专业是电气工程,毕业后做的是自动化方面的工作。对于高级语言编程基本是 0 基础,那时刚毕业在车间做设备调试,工资也只有三四千块钱。2014年底在知乎看到搞 IT 的薪资动辄 10k 起步,所以我也动了学习编程的念头。

当时 Python 已经开始流行。虽然远没有今天热度这么高,但是已经有一些大V在鼓励大家开始学习 Python了。对我影响最大的是知乎ID为:"萧井陌"的大神。我觉得他至少影响了上万人学习 Python 。那时候他的《编程入门指南》很火,而且一直在鼓励初学编程的人去学习 Python。其中他的这个回答对我影响最大,因为这个回答特别笃定,把步骤写好了,照做就是了。

然后我买了他推荐的这本书,现在已经出第二版了。当时看第二遍时还是糊里糊涂的,因为你学了 Python 基础后,还要了解 WEB 开发的一些概念,包括数据库的基本用法。所以当时又看了 WEB 方面包括 HTML/CSS/JS,和 HTTP协议一些知识。买了本 SQL 必知必会来了解简单的 SQL 语句。总之是 Flask 这本书看了三遍,对书中所写的项目理解了80%左右吧。到这里基本算是入门吧,之后就开始做 IT 相关工作了。

学习方法

如果是 0 基础学习,还是推荐《笨办法学Python》这本小册子开始。很直白,没有上来就讲语法,仅仅是照着敲就行了。这个小册子看完后我当时看的是《Python核心编程-第二版》上面讲的还是 Python 2.5。现在出了第三版,但是已经不推荐初学者去看了。现在你可以直接去看人民邮电出版社的《Python编程从入门到实践》,这本书我简单翻过,内容还是很不错的,包括大量的实际案例,可以亲手做出一点好玩的应用来。

除了 Python 外还要了解基本的 HTML/CSS/JS。这些东西花几天时间在 W3School 看一看就差不多了。在这个过程中可以到网上看看别人都用 Python 来做哪些好玩的事情,可以跟着学学。知乎上有很多好的问题和答案,非常值得学习。

在学习过程中不必要求 100% 掌握,一些高级用法不理解没关系,等代码写的多了就懂了。上面基础知识看完后就要选择一个方向了,比如 WEB,数据分析等。做 WEB 的话 Python 最流行的两个框架 Django 和 Flask 选一个深入学一下就好了,我当时学的是 Flask,不过 Django 是一个大而全的框架,不需要你去找各种第三方模块来使用,文档也很全面,都很适合来学习。

当时网上关于 Python 的视频资源也很少,现在在慕课网、网易云课堂上都有大量 Python 的视频资源了,包括很多培训机构的教学视频网上都可以找到。这些都是很好的学习资源。

这里插一句,如果有想报培训机构学习的,我还是推荐一下萧井陌的线上培训课。16年萧井陌自己开了线上培训课,收费是10k人民币,报名者众多,我从朋友那里听过几节他的讲课,我觉得10k很值的。从 HTTP 协议开始讲起,一步一步搭建一个简易的 Web 框架,包括基础的 ORM 操作。这些东西搞完后你就理解了 WEB 框架的原理,你再去看 Flask,Django 这些都是一样的套路。当然上面这些不是广告,人家也不需要我给打广告。我只是单纯感觉如果你要报班,那么他的绝对不会让你后悔。

体会

最开始,我可能也是电影看多了,以为写代码如行云流水般才算掌握。其实不是的,写代码就是一个思路的问题,具体的实现过程需要各种谷歌,翻文档。所以不要想着自己怎么什么都写不出来,大家都一样的。都是想半天,才能敲两行代码下去。

知乎上还有个大V说过,编程就是个手艺活。无他,唯手熟尔。三天不练手生,所以要用学手艺的方法去学编程,要动手实践,不断重复,不断调试,修改 Bug。所以,当你不知道怎么写的时候,就去抄别人的代码,只要了解这段代码在做什么事就好了,敲的多了,自然就掌握了。

学到这里,你也就刚刚入了个门而已。虽然还有更多的东西去学习,但是我们查资料、看文档的能力已经培养出来,不会再畏惧遇到的难题,剩下的就是不断提高自己的知识储备,不断提高自己解决问题的能力了。共勉。

下面是几本你可能会需要的书籍,网上都可以下载,当然也可以私信我发给你学习。

我是如何自学 Python 的的更多相关文章

  1. 我是如何自学 Python 的?

    最近一直有读者私信问我,Ahab你是如何学习Python的?能推荐几本适合新手学习的书吗?有没有好的实践项目分享一下呢? Python未来发展前景怎么样呀?今天我就认真的告诉大家我是如何学习Pytho ...

  2. 420小时学习代码之后:如何教你免费自学Python

    原文地址:learning-to-code-420-hours-later-how-to-teach-yourself-python-for-free 说明:有些网址需要FQ. 大约在1.5年前,我开 ...

  3. 孤荷凌寒自学python第八十三天初次接触ocr配置tesseract环境

    孤荷凌寒自学python第八十三天初次接触ocr配置tesseract环境 (完整学习过程屏幕记录视频地址在文末) 学习Python我肯定不会错过图片文字的识别,当然更重要的是简单的验证码识别了,今天 ...

  4. 孤荷凌寒自学python第七十天学习并实践beautifulsoup对象用法3

    孤荷凌寒自学python第七十天学习并实践beautifulsoup对象用法3 (完整学习过程屏幕记录视频地址在文末) 今天继续学习beautifulsoup对象的属性与方法等内容. 一.今天进一步了 ...

  5. 孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务

    孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第七天.成功在本地搭建 ...

  6. 孤荷凌寒自学python第六十天在windows10上搭建本地Mongodb数据服务

     孤荷凌寒自学python第六十天在windows10上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第六天.成功在本地搭建了windows ...

  7. 孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类尝试第一天

     孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类,尝试第一天 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 按上一天的规划,这是根据过去我自学其它编程语 ...

  8. 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备

     孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自 ...

  9. 孤荷凌寒自学python第二十三天python类的封装

    孤荷凌寒自学python第二十三天python类的封装 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.从怎么样访问类的内部代码块中定义的私有属性说起 类中定义的私有属性和私有方法是无法被 ...

随机推荐

  1. Fedora Linux中解决“xxx不在sudoers文件中”

    问题描述: 在Fedora中执行一些操作时需要使用root权限,当我使用命令: sudo 想在普通用户中临时获得root权限时,却被提示: "xxx 不在 sudoers 文件中.此事将被报 ...

  2. 在Python中用Request库模拟登录(三):Discuz论坛(未加密,有验证码,有隐藏验证)

    以Discuz的官方站为例.直接点击网页右上角的登录按钮,会弹出一个带验证码的登录窗口.输入验证码之后,会检查验证码是否正确.然后登录.首先,通过抓包分析,这些过程浏览器和服务器交换了哪些数据. 抓包 ...

  3. tkinter中entry输入控件(四)

    entry控件 import tkinter wuya = tkinter.Tk() wuya.title("wuya") wuya.geometry("300x200+ ...

  4. border-radius 圆角

    border-radius:3px;  参数的单位可以使绝对的像素px,也可以用相对单位%; 参数顺序是左上角,右上角,右下角,左下角. 圆角: div{width: 100px;height: 10 ...

  5. VMware12安装虚拟机教程、Ubuntu16.04安装教程(包括vmware tools的安装)

    转自https://jingyan.baidu.com/article/c275f6ba07e269e33d756714.html 方法/步骤 1 虚拟机.Linux操作系统介绍及下载地址 虚拟机VM ...

  6. 数据保存策略(Retention Policies)

    数据保存策略(Retention Policies) InfluxDB没有提供直接删除Points的方法,但是它提供了Retention Policies.主要用于指定数据的保留时间:当数据超过了指定 ...

  7. asp.net core session丢失问题排查

    最近公司采用asp.net core的站点在外测环境中,总是发现存在session丢失的情况.排查了好久,客户端.AspNetCore.Session的cookie未丢失,session的分布式缓存采 ...

  8. BZOJ_1146_[CTSC2008]网络管理Network_主席树+树状数组

    BZOJ_1146_[CTSC2008]网络管理Network_主席树 Description M公司是一个非常庞大的跨国公司,在许多国家都设有它的下属分支机构或部门.为了让分布在世界各地的N个 部门 ...

  9. BZOJ_1500_[NOI2005]维修数列_splay

    BZOJ_1500_[NOI2005]维修数列_splay 题意: 分析: 节点维护从左开始的最大连续子段和,从右开始的最大连续子段和,区间的最大连续子段和 插入:重新建一棵树,把pos旋到根,把po ...

  10. Android--性能测试关注的指标

    性能测试过程中,出现的一些问题可直接导致了用户对当前app的使用率和卸载率,如果app使用时卡顿严重或者加载页面慢,cpu占用率高,导致app闪退等问题,在测试过程中,则需特别关注性能方面的体验,ap ...