1.
这几天陆续收到很多读者、球友的留言、私信,说要怎么学Python?有没有基础的,偏小白的学习方法?我的回答是:等我统一答复。
小胖从不食言,今天就来说说我觉得一个零基础、想转行、一直不得法的人应该如何入门。
2.
对于Python来说,一直有个误区,那就是「Python很简单」。
不知道你有没有、或者曾经有过这样的想法。我也能理解,毕竟一句话就能打印hello world,3行代码就能人脸识别,真的太简单了。
但这真的是Python的全部吗?如果你只是满足于依靠强大的社区、优秀的第三方库来满足你对于Python的好奇,那是完全可以的。但可千万别把这当作Python的全部啊!
Python的高阶函数、装饰器,反射、元编程、各种魔术方法,Python的解释器运行机制是什么,垃圾回收原理又是什么,为什么Python多线程鸡肋?GIL无解了吗?
你看,上面这些问题,每一个我都能拉出来讲一篇,有的甚至2-3篇,这才是Python的精髓,应该学的,而且越学越有意思。
3.
那就来说说零基础要怎么入门Python,又怎么把Python学好了。
我相信关注我读者的不少人都是写过Python的,所以应该多少也买过几本Python的书吧?Python的书真的很多,特别是针对初学者的书多如牛毛,数不胜数,就连我自己都想出一本书了……那其实呢?大家都差不多吗,初学者的书一定要选好,为什么?因为这直接决定了你之后的学习曲线以及学习积极性。那我这里推荐给大家的就是「笨办法学Python」(这里没有广告,如果一定要有,@笨办法学Python作者,是不是该给我打稿费了啊,喂!)
这本书相对简单,说的东西都很浅显,建议你花几天时间集中看完,很快的,因为没啥深奥的原理,都是悄悄代码,就过去了。关键的地方来了,这也是我和其他大佬不同的地方,看到这里你就赚了。
4.
我推荐大家迅速的过书,到函数那一章就完事了,装饰器也别看了,别问我为什么,吻我就好。
因为装饰器将会成为你学习Python以来第一个难关,会打压你,在你学习不到3天的时候,真的不好。
那看到装饰器不看了,接下来干嘛呢?经典的来了,去做东西!所谓看五遍不如敲一遍就是这理。那么练什么呢?才学了这点能练什么?
放心,多得去了。你学Python应该多少会点Linux的命令吧?就算你不会,也可以搜一下吗,反正也不难。然后精彩的来了,我们就拿 ls 这个命令来说,用Python来实现一个 ls.py 行不行?
我猜你看到这里,嘴里冒出一句「卧槽」「我次奥」,很正常,突破认知范围了是不,怎么会这么骚?我怎么就没想到?
第一个版本很简单,记住了MVP法则,MVP讲究的就是最小可行性,你现在需要做的不是几百行的完整 ls 功能,而是一个最简单的 ls 功能,什么意思?回想一下 ls 在不加入任何参数的情况下,是什么效果?没错,就把这个实现了。效果就是 python ls.py 等同于 ls 命令。
在这个MVP版本的实现过程中,你一定会遇到很多的困难,毕竟你到现在只学会了程序结构、数据结构、函数,模块调用还不会,怎么办?查啊。当你发现你不知道怎么获取当前目录下的所有文件及文件夹的时候怎么办?查啊。
5.
发现没有,再经过MVP版本后,你已经学会了os的相关函数使用了,你已经知道模块的引入语法了,这些可都是书里看到现在没有讲的哦。
接下来就进入产品的迭代周期了,这个时候你需要不断去扩展功能,ls.py的功能就是它的参数,这些参数的意义通过man函数都可以查到。相信我,每做一个参数,你都能学到很多东西,因为现在的你是一张白纸,想要上点颜色太简单了。需要提一下的是,你要每天坚持写点Python,只有每天写,你才会在不经意间成为那个让零基础的人们羡慕的对象。
2周过去了,你会发现功能迭代的80%了,在你的武器库里又多了很多的技能,argparse咯、psutil咯、sys咯等等,是不是有点自喜了?没错,要的就是这个。最后你要做的就是把代码优化一下,而不是一个冗长的1000行的文件,虽然现在还没有类的引入,也没有任何高级用法,只是把函数分门别类的整理出来。这就够了。
6.
经过这么一段时间的练习,我相信你已经和之前刚入门的你完全不一样了,接下来可以继续看书了,把面向对象、魔术方法、并发都看了。再来写一个find 命令。
相信我,2个命令写下来,你的能力已经得到了显著的提升,现在的你已经有了2个实打实的项目,比那些个个人博客项目要硬的多。
然后再去看看web前端的东西,慢慢接触点爬虫、网站开发、框架使用都是水到渠成的事了。
以上就是我个人给予大家的一些建议,称不上过来人,我只是一个走在学习路上不断踩坑试错的践行者,除了学习外,就是把学习的过程分享出来,让获悉者受益,仅此。

今日留言主题

2000字谏言管饱吗?你有什么好的学习建议 / 或者从中get到什么?

喜欢就在看吧

2000字谏言,给那些想学Python的人,建议收藏后细看!的更多相关文章

  1. 给想学python但还没有接触过的你,python代码的书写规则,小白入门

    Python 文件结构 变量命名 注释 单行注释 多行注释 缩进 Python 文件结构 #!/usr/bin/env python3 # 指定python解释器 # -*- coding: utf- ...

  2. 想学Python不知道从哪里开始学?|百度网盘免费下载| 这本入门书了解下

    百度网盘免费下载:编程小白的第一本 Python 入门书 提取码:s0pc Python是什么 Python是一种计算机程序设计语言,由吉多·范罗苏姆创造,第一版发布于1991年,可以视之为一种改良的 ...

  3. 想学Python不知如何入门,教你!

    一.入门引导   想必有很多小伙伴想学习Python,又不知道如何入门,总觉得学习一定要头悬梁,锥刺股!NO,今天给大家分享下如何轻松入门Python!   首先,我们要学习Python,那一定要和你 ...

  4. 想学Python?这里有一个最全面的职位分析

    Python从2015年开始,一直处于火爆的趋势,目前Python工程师超越Java.Web前端等岗位,起薪在15K左右,目前不管是小公司还是知名大公司都在热招中. 当然,每个城市对岗位的需求也不尽相 ...

  5. 跟着老王学Python

    亲爱的朋友:     欢迎你!很高兴能在这里见到你,你能来到这里说明你真的很喜欢python,很想把python给学好!我觉的你很幸运,开始我学python的时候比较少资料,学起来也比较头疼,现在随着 ...

  6. 运维朋友们,别再问需不需要学 Python 了!

    运维人员需不需要学开发?需不需要学 Python?PythonN 和 Shell 有什么区别?天天问这种好水的问题,我实在受不了,决定帮大家扫扫盲. 现阶段,掌握一门开发语言已经成为高级运维工程师的必 ...

  7. 除了上万的月薪之外,还有什么理由让我们必须学Python?

    虽然目前的编程语言有很多,但是基础语法上的概念,本质上都是相通的.可以做到一通百通.所以没有必要为了学哪门语言纠结太多. python是目前市面上,我个人认为是最简洁&&最优雅& ...

  8. 数读 | 为什么运维朋友们都需要学Python?

    运维人员需不需要学开发?需不需要学Python?PythonN和Shell有什么区别?天天问这种好水的问题,我实在受不了,决定帮大家扫扫盲. 现阶段,掌握一门开发语言已经成为高级运维工程师的必备计能, ...

  9. 新手想掌握Python技能需要众多Python项目练习,适合项目有哪些?

    适合新手练习的Python项目有哪些?简单易上手的Python项目汇总:Web 项目设计:内容聚合器.正则表达式查询工具.网址缩短.便利贴.功能.测验.GUI 项目设计:MP3 播放器.闹铃提醒工具. ...

随机推荐

  1. 谷歌发布自家物理密匙TitanKey,能让人们远离互联网“黑洞”吗?

    随着隐私泄露事件的飞速增多,人们对如何保护自身隐私安全也越来越重视.而基于这种诉求,众多企业也在持续发力安全层面.毕竟,在目前危机四伏的互联网大环境下,真正能保护人们隐私安全的服务.设备等都是&quo ...

  2. JavaScript详解(三)

    JavaScript的数组 JavaScript中的数组具有相当的灵活性,除了能存储数据外,还提供了一系列的属性和方法.因为JavaScript本身是一个弱类型语言,故其数组不会限制存放数据的类型. ...

  3. Adaboost算法及其代码实现

    . . Adaboost算法及其代码实现 算法概述 AdaBoost(adaptive boosting),即自适应提升算法. Boosting 是一类算法的总称,这类算法的特点是通过训练若干弱分类器 ...

  4. 163邮箱报错: 535 Error: authentication failed

    今天更换新的异常信息发件邮箱,重新申请了一个新邮箱,SMTP功能已经开通,调用java代码报异常,错误信息为:535 Error: authentication failed.经过网上查证,原来新的1 ...

  5. JS实现遮罩层

    /* * 显示loading遮罩层 */ function loading() { var mask_bg = document.createElement("div"); mas ...

  6. J. Distance on the tree(树链剖分+线段树)

    贴贴大佬的计蒜客题解: The Preliminary Contest for ICPC China Nanchang National Invitational and International ...

  7. VS2010无法调试页面问题

    图片: VS2010报:未能将脚本调试器附加到计算机XXX上的进程iexplore.exe . 已附加了一个调试器”.启动调试失败. 解决:1.以管理员身份打开CMD; 2.运行:regsvr32.e ...

  8. mysql之存储过程(二)

    1.批量根据复杂的SQL查询结果插入到新表 DELIMITER && CREATE PROCEDURE settlePADTEST() begin        DECLARE c_s ...

  9. ansible批量部署(一)

    自动化运维工具shell脚本/Ansible(无客户端)/Saltstack(master-minion) 回顾服务器部署的流程:买云主机->环境部署->软件部署->配置部署-> ...

  10. 与http协作的web服务器

    1.虚拟主机 一台web服务器可以搭建多个独立域名的web网站,也可以作为通信线路上的中转服务器提升传输效率.比如web托管服务供应商可以用一台服务器为多个不同域名的客户提供服务,这是利用了虚拟主机( ...