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. 洛谷 P5017 摆渡车

    题目传送门 解题思路: 个人感觉DP这东西,只可意会,不可言传 AC代码: #include<iostream> #include<cstdio> #include<cs ...

  2. Huffman编码实验

    一. 实验目的 熟练掌握哈夫曼树的建立和哈夫曼编码的算法实现. 二. 实验内容 根据哈夫曼编码的原理,编写一个程序,在用户输入结点权值的基础上求赫夫曼编码,并能把给定的编码进行译码. 三. 实验要求 ...

  3. Opencv笔记(十五)——图像金字塔

    参考文献 目标 学习图像金字塔 学习函数cv2.pyrUp()和cv2.pyrDown() 原理 当我们需要将图像转换到另一个尺寸的时候, 有两种可能,一种是放大图像,另一种是缩小图像.尽管在Open ...

  4. 启动查看crontab日志服务

    方法1: . 修改rsyslog文件,将/etc/rsyslog.d/-default.conf 文件中的#cron.*前的#删掉: . 重启rsyslog服务service rsyslog rest ...

  5. 一个简单的jQuery回调函数例子

    jQuery回调函数简单使用 比如说,我们想要点击某个按钮后触发事件, 先把一些指定内容给隐藏掉, 然后跳出相关信息的对话框. 如果使用普通的方法, 不用回调函数的话, 会有怎么样的效果呢? 效果是先 ...

  6. 常用JS图片滚动(无缝、平滑、上下左右滚动)

    常用JS图片滚动(无缝.平滑.上下左右滚动)代码大全 <head><-----></head><body> <!--向下滚动代码开始-->& ...

  7. 郑宇以城市计算研究膺选 MIT 科技创新35俊杰 (TR35)

    MIT 科技创新35俊杰 (TR35)"> 编者按:<MIT Technology Review>于8月22日发布了令人瞩目的2013年全球杰出青年创新者(MIT TR35 ...

  8. Windows2012R2 设置NTP时间服务器

    一.服务端配置 (Ntp服务器,客户端将根据这台服务器的时间进行同步) 1.微软键+R键,进入“运行”,输入“regedit”,进入注册表 2. HKEY_LOCAL_MACHINE\SYSTEM\C ...

  9. java成神之路

    一.基础篇 1.1 JVM 1.1.1. Java内存模型,Java内存管理,Java堆和栈,垃圾回收 http://www.jcp.org/en/jsr/detail?id=133 http://i ...

  10. 第一届“信安杯”部分WriteUp

    第一届"信安杯"部分WriteUp------OooooohLeeGay队! 小队成员(按姓氏):郭泽坤.李江川.赵乐祺 以下这部分是做出来的 2019.11.23-24 ++Re ...