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. MySQL笔记(一)

    MySQL是目前最流行的关系型数据库管理系统之一,它是由MySQL AB公司开发.发布并支持.MySQL是一个跨平台的开源关系型数据库管理系统,被广泛地应用在internet上的中小型网站开发中.相比 ...

  2. pandas 学习笔记【持续更新】

    import numpy as np import pandas as pd import matplotlib.pyplot as plt df1 = pd.DataFrame(np.arange( ...

  3. 深度学习数据集MNIST ImageNet COCO PASCAL VOC介绍

    参考文档 深度学习数据集汇总介绍 1.  MNIST 深度学习领域的“Hello World!”,入门必备!MNIST是一个手写数字数据库,它有60000个训练样本集和10000个测试样本集,每个样本 ...

  4. 协议(Protocol)

    协议(Protocol)的基本概念 协议的声明看起来比较类似于Java中一个类的接口,但是和接口不同的是:协议没有父类也不能定义实例变量. 协议是一种特殊的程序设计结构,用于声明专门被别的类实现的方法 ...

  5. [原]C++新标准之std::chrono::duration

    原 总结 C++11 chrono duration ratio  概览 std::chrono::duration 描述 类定义 duration_cast()分析 预定义的duration 示例代 ...

  6. drf框架概况-resful接口规范-请求模块-渲染模块-Postman-drf请求生命周期

    drf框架 全称:django-rest- framework 知识点: """ 1.接口:什么是接口.restful接口规范 2.CBV生命周期源码-基于restful ...

  7. Netty之内存泄露

    直接内存是IO框架的绝配,但直接内存的分配销毁不易,所以使用内存池能大幅提高性能. 1.为什么要有引用计数器 Netty里四种主力的ByteBuf,其中UnpooledHeapByteBuf底下的by ...

  8. 一、Shell脚本高级编程实战第一部

    Shell脚本语言是实现linux系统自动化管理的重要且必要的工具,几乎每一个合格的linux系统管理员或者高级运维工程师都要熟练shell脚本语言的编写,只有这样才能提升工作效率,解决工作中的重复劳 ...

  9. python_8_集合

    1.集合:可变集合set,不可变集合frozenset,集合是无序不重复的 set('hello') set9[1,2,3,4]) set((1,2,3)) 2.添加元素 > add:将元素整体 ...

  10. tap点击一次,内部程序执行两次,多次

    调试过程发现,使用 $(document).on('tap', '.children2', function () { //内部程序 }) 点击children2的时候,程序在里面执行了两次.百度得到 ...