Hello, the Fxxking Python

2021年10月18日 1167点热度 0人点赞

作者:写代码的明哥
来源:Python编程时光(ID:Cool-Python)
大家好,我是明哥。

不知道大家国庆过得嗨不嗨呢?我就可怜了,最近厦门爆发疫情,连失中秋、国庆两个假期,家是回不了,被迫只能在宿舍宅了 7 天。

这 7 天里,看了几部之前攒的悬疑电影,外加一部最近比较火的网剧《鱿鱼游戏》,刷着刷着就入迷了,前两天都忘了给大家推送文章,有点罪过。。

由于实在太无聊了,我还复习了一遍极客时间的《数据结构与算法之美》,两年前刷过一遍,再次翻阅感觉忘了80% 了

想着明天就要上班了,自己也该调整调整下心态,今天就花了点时间,给大家整理了一份 不花钱的 Python 学习路线,全都是在线教程,而且内心都挺良心。

有关注我知乎的朋友,也许能看到我之前在知乎上分享过的一些学习经历,我自己并不是科班出身,因此在转行的路上,我吃过很多非科班的苦,踩过很多非科班的坑。

我相信在这个世界上还有很多像我一样曾经迷茫或者正在奋斗的同学,他们也许正在经历以前我曾经经历过的,因此我希望我今天整理的这些 能帮你在这条道路上,走得更顺畅,走得更远,更稳…

# 0. 学习整体思路

作为一个过来人,我把整个学习过程分成三个阶段:

  1. 前期:花点时间选一门口碑上佳的入门电子文字教程,坚持下去,不要轻易换教程

  2. 中期:跟着教程,先学会抄代码,从抄代码中学习代码思维,举一反三,在这个阶段要做好学习笔记,从零开始构建自己的 Python 知识库,方便后面速查。

  3. 后期:确定方向(运维 或者 爬虫 或者 web )后,去慕课网上找 Python 的项目实战课堂,一门小几百,质量很高,到这个阶段,要面向工作学编程,从项目中去巩固前面的基础,不断查缺补漏,学习项目开发完整流程。

这三点,非常重要非常重要非常重要

我会逐个为你解决这些问题:

第一点:如何挑选一门适合的电子文字教程。

现在的网络资源真的非常的丰富,随便一搜都有各式各样的教程,在知乎上、公众号里也经常有人推荐一些在线学习网站,一推荐就推荐个10几个,每个都说得非常好。把选择权交给小白,初学者我认为不妥。

并且他们的推荐:

  • 同质化太过于严重:不是廖雪峰,就是菜鸟教程,还有早已过时的简明Python。

  • 缺乏系统化指引:学习编程语言基础可能一本书,一个网站就足够,但要应用于实战、项目,要学习的东西还有很多。

因此,在这里我给直接把学习路线整理好,基础阶段该学什么,去哪学?

同类型的教程/网站,我只会推荐一个,这个绝对是我认为最好的。

不让小白选择,小白要做的就是跟着我的路线持续学下去就行。

第二点:怎样构建自己的知识库

关于这个,我只给出我自认为最完美的方案,仅你参考。

  1. 写作技能:去学习下 Markdown 写作语法,真的能让写文章做笔记变成一种享受。

  2. 写作工具:在本地写文章的话,一定要下载个 Typora,Windows 和 Mac 都可以用。个人CSS排版:https://github.com/iswbm/typora-theme

  3. 在线托管:使用 Sphinx + Github + Readthedoc 搭建个人知识库。搭建教程:https://iswbm.com/134.html

第三点:如何学习工程项目

这个可以去慕课上找,我自己看过不少,价格不贵,质量还行,性价比高。非广告,亲自体验过,真心推荐。

接下来就是根据不同阶段,对这些资料分门别类整理出来,内容非常多,请做好 点赞收藏 的准备。。

# 1. 基础到进阶

一说到自学 Python,就会有很多人推荐廖雪峰,他的教程我从头到尾看过,个人不建议零基础的编程小白去看他的教程,他的教程更适合有点计算机基础的。

你一定会问,那我为什么还会去看他的教程?这不是打脸嘛?

因为当时没有人像我今天给你推荐电子教程那样给我引路呀,我只能靠搜索引擎,而 廖雪峰的教程则排在前列,我硬着头皮把它学完了。

学习编程,最忌讳就是今天一个教程,明天一个教程,频繁更换教程,增加自己的学习成本,对于新手小白会是一件严重打击自信心的事情。

因此我今天不会给你推荐 廖雪峰。

在基础阶段,挑选的教程,我有两个建议:

  1. 教程难度要适中,不能太难,也不能太简单。

  2. 选电子文字教程,而不是视频教程。

关于第一点,很容易理解,太难会打击信心,太简单会学得太浅。

而第二点,我要重点说明下,选电子文字教程,有四点考虑:

  1. 电子文字教程,方便拷贝代码,直接运行看效果。当然运行完后,一定要自觉用自己的手敲一遍,在敲代码的时候强化知识点,并培养 code feel。

  2. 电子文字教程,方便检索,知识点忘了后,搜一下便可以回顾,这一点视频做不到,拖动进度条寻找知识点所在位置本就是一件效率低下的事情。

  3. 电子文字教程,往往会比视频教程更加深刻,避免很多靠直觉的讲解和口误。

  4. 早点适应查阅文档,对以后工作后学习更多新技能会很有帮助。

我也不多废话了,直接上干货。

Python 中文指南

《Python 中文指南》,是的,你没有看错,这是一本面向纯小白的基础入门教程,只要你会中文,只要你有点逻辑,认真的从第一章节学习下去,一个月把 Python 的基础学好完全没有问题。

这本书排版非常的清晰,把基础和进阶的章节全部标注了出来,基础的就是面向小白的,但如果你是纯小白,那些进阶的文章,如果觉得吃力的话,可以先跳过,等把简单知识点都掌握了逐个击破…

在线阅读链接https://python.iswbm.com

目前开源在 github 上,觉得写的不错的,可以去点个小星星,支持下:https://github.com/iswbm/python-guide

Python 3 标准库实例教程

在《Python 中文指南》 这个教程里,它注重基础语法的讲解,并且会教你怎样写出最优雅的代码。

但这还不够,学会基础语法只是入门阶段,想要利用 Python 去实现各种实用的工具,比如写自动化小脚本,去写爬虫爬取数据等等,必须对一些 Python 常用的内置库了如指掌,比如 os、sys、time 等。

对于这些内置工具库的学习,我认为最好的方法是去看 《Python 3 标准库实例教程》,这本书是可以在线阅读的。从下面的目录可以很明显的感受到, Python 的工具库真的是多如牛毛,怪不得那么牛逼呢。

收藏下面这个地址 《Python 3 标准库实例教程》,要用的时候来速查就行啦。

在线阅读链接https://learnku.com/docs/pymotw

我敢保证,你在工作中用得到的、用不到的标准库在这里都能找得到答案,而且非常详细,关键还是全中文的。

PyCharm 中文指南

写代码、写代码,那么用什么写呢?

在 Python 领域里,代码编辑器主流的有两个:

  1. PyCharm

  2. VS Code

我非常推荐新手使用  PyCharm ,因为这是一款最专业的 Python 编辑器(事实上,它比编辑器还高一个段位,我们叫它 IDE:集成开发环境),没有之一。

  • 代码分析与辅助功能,拥有补全代码、高亮语法和错误提示;

  • 项目和代码导航:专门的项目视图,文件结构视图和和文件、类、方法和用例的快速跳转;

  • 重构:包括重新命名,提取方法,引入变量,引入常量、pull,push等;

  • 支持网络框架:Django, web2py 和 Flask;

  • 集成Python 调试器;

  • 集成单元测试,按行覆盖代码;

  • Google App Engine下的Python开发;

  • 集成版本控制系统:为Mercurial, Git, Subversion, Perforce 和 CVS提供统一的用户界面,拥有修改以及合并功能。

对于新手来说,即装即用,不用再花费太多精力去整各种复杂的环境。

关于 PyCharm 的使用,我花了两个月的时间,整理过一份 《PyCharm 中文指南》,前段时间在 Python 圈大热了一把。

录制了近 100 张的 GIF 动态图,总结了 92 个实用的使用技巧,是 全网第一本全面且系统 的 PyCharm 使用指南,该手册在知乎 PyCharm话题下排名第一 回答获赞 4k+ ,收藏数12k,PDF 网盘累计下载 10k+,Github Star 1500+。

相信你读完,对于你使用 PyCharm 一定很有帮助。

在线阅读链接https://pycharm.iswbm.com/


Python Cookbook

如果让我推荐两本 Python 的进阶书籍,那么 《Python Cookbook》一定其中之一。

在线阅读链接https://python3-cookbook.readthedocs.io

Python 黑魔法指南

Python 是一门非常高级的语言,写代码的人完全可以利用的人的思考方式去编写代码。

但同时高级语言带来高级特性的同时,也增加了学习成本。

在 Python 中有非常多实用的使用技巧,这些在一些常见的 Python 的教程里通常都不会提及。这是非常遗憾的,使用高级语言却无法完全驾驭高级语法。

为此,我花了两个多月的时间,整理了一本 《Python 黑魔法指南》。

系统收录各种 Python 冷门知识,Python Shell 的多样玩法,令人疯狂的 Python 炫技操作,Python 的超详细进阶知识解读,非常实用的 Python 开发技巧等。在知乎问题【Python 有哪些奇技淫巧?】下排名第一获赞2.9k ,收藏数 11k+,PDF 网盘累计下载 2w+,Github Star 2200+ 。

在线阅读链接https://magic.iswbm.com

上面一共推荐了五本书:

  1. 《Python中文指南》  --> 面向初学者的零基础入门教程,建议通读

  2. 《Python 3 标准库实例教程》  --> 学好标准库的最佳教程,做速查之用

  3. 《PyCharm 中文指南》 --> 教你用好最专业的Python 编辑器 PyCharm 的最好教程

  4. 《Python Cookbook》 --> 教你学会 Python 的高级特性和开发技巧

  5. 《Python 黑魔法指南》 --> 集齐 100 多个Python 冷门技巧、冷门知识、开发技巧的超实用手册

第一本书,建议吃透 80% 的内容,而第二本书书不需要你全书阅读,事实上也没有几个人能做到,只要你在需要的时候,知道去那个网站里查就行了。两本书建议同时一起学习,但以第一本为主。剩下三本可能在网络上都是独有的存在,我只能说,千万不能错过。

新手有了一些基础后,最好去找点实战项目跟着做下。

这个阶段去做实战项目,有三个目的:

  1. 去真正编写有意义的代码,让编码变得不那么枯燥无味

  2. 在实践中,不断地巩固基础、查缺补漏,并且在视频里掌握前辈们的编码思想

  3. 做出点成品出来,成就感对于每个人都有正向激励的作用,会坚定你在编程这条路上走下去的推进力

实战、实战。。那么学点什么好呢?去哪里学呢?

如果你没有自己非常明确的方向,那么去学爬虫和Web吧。(让你去学,并不是建议你就从事这两个方向)

爬虫和web,上手都不会太难,而且见效非常快,很快你就能体验到编程带来的乐趣。

下面我同样会推荐给你一些我认为还不错的爬虫和web的学习网站 ,你可以参考下。

# 2. 爬虫方向

Scrapy Cookbook

网站链接:https://scrapy-cookbook.readthedocs.io/zh_CN/latest/

# 3. Web 方向

Django Web 框架

网站链接:https://developer.mozilla.org/zh-CN/docs/learn/Server-side/Django

该网站可以让你从0开始学习Web,包括前端(HTML,CSS,JS)、后端(Django)

在服务端网页编程里,重点介绍了 Django

DRF 实战教程

专栏链接:https://zhuanlan.zhihu.com/djstudyteam

Flask 官方文档

Flask 官方文档:http://www.pythondoc.com/flask/index.html

Flask 系统学习

Flask 的使用非常灵活,在这里推荐一个网站 ,收录了很多关于 Flask 的解决文案,而且都是全中文的。

网站链接:http://www.pythondoc.com/

# 4. 付费课程

蓝桥云课:Python

原实验楼,目前改版叫 『蓝桥云课』(不知道发生了什么),很早以前看过一些基础课程,还可以。

网站链接:https://www.lanqiao.cn/

魔法学院:Python

网站链接:http://www.nowamagic.net/academy/category/13/

慕课网:Python

早期为转行很多实战的内容都是在这边学习的,基础的大多数是免费的,实战课程需要付费,但对比培训班动不动一两万的价格,实在太亲民了,大部分实战课程都在 200 - 500 之间,基本都负担得起。

网站链接:https://coding.imooc.com/?c=python

# 5. Python 源码

Python2 源码剖析

这本书出版于 2008年,是阅读 CPython 源代码的必读之作。

本书以CPython为研究对象,在C代码一级,深入细致地剖析了Python的实现。书中不仅包括了对大量Python内置对象的剖析,更将大量的篇幅用于对Python虚拟机及Python高级特性的剖析。

通过此书,读者能够透彻地理解Python中的一般表达式、控制结构、异常机制、类机制、多线程机制、模块的动态加载机制、内存管理机制等核心技术的运行原理,同时,本书所揭示的动态语言的核心技术对于理解其他动态语言,如 Javascript、Ruby等也有较大的参考价值。..

虽然本书研究的是 CPython 2.5 ,但是里面的核心内容对于你阅读 CPython 仍有借鉴意义。

这本书,目前已经停售,不好买到了,但你可以自行搜索,阅读扫描版的 PDF。

Python3 源码剖析

本书是一些 Python 爱好者基于 《Python2 源码剖析》,重编的 Python 3版本的 《Python 源码剖析》,目前项目还在进行中,已经完成了一部分了,请一起期待…

网站链接:https://flaggo.github.io/python3-source-code-analysis/

当然,如果你英文还 OK 的话,可以直接在 RealPython 中搜索CPython Source Code里面有一个系列的文章,基于 Python 3.8。详情可戳:https://realpython.com/cpython-source-code-guide/

另外,我还找到有个博客,正在更新基于 Python 3.6 的源码分析:https://he11olx.com/

# 6. 一些练习题

Runoob Python 100例

菜包教程出品的 100 道练习题,偏基础。。

网站链接https://www.runoob.com/python/python-100-examples.html

Python Tips 刷题挑战

一个朋友的刷题网站,偏算法。。有针对要加强算法的同学,去刷 leetcode 其实更好一些。

网站链接http://www.pythontip.com/coding/code_oj

Python Tips 设计模式

很多中途转 Python 的人,对工程化及设计模式的理解可以说几乎为零,这个网站能帮你学习一些设计模式的内容。

网站链接http://www.pythontip.com/python-patterns/detail/abstract_factory

# 7. 资源类网站

书栈网

在这个网站里,收录了很多优秀的技术书籍,你想要,想找的,基本上都能搜得出来。

网站链接https://www.bookstack.cn/rank?tab=popular

awesome-python

我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-python是 vinta 发起维护的 Python 资源列表,内容包括:Web 框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。由原伯乐在线持续更新。

网站链接https://github.com/iswbm/awesome-python-cn

魔法学院

网站链接http://www.nowamagic.net/academy/

PyCrumbs

搜集了各种免费Python的资料,对于喜欢BP的同学,不要错过。

网站链接https://github.com/kirang89/pycrumbs

Python 中文学习大本营

网站连接http://www.pythondoc.com/

由于时间有限,今天只能给大家整理到这里了,其实我这边还有很多在线网站和工具网站,但本着求精不求多的原则 ,就不重复给大家推荐太多同类型的网站,免得大家花太多的精力在选择与纠结上。

资料重要,但并不是那么重要,最重要的是,你有一颗愿意在这条路上奔赴到底的心,和一个能让你直面孤独的强大信念。

共勉,加油。

潜行者

https://pc012.com/