我是真正零基础开始学Python的,从一开始的一窍不通,到3个月后成功搭建了一个动态网站(没有用任何框架)。相比于计算机大牛,我更加知道一个小白将会遇到什么坑,遇到哪些难点。结合自身的学习经验,我整理出一条可操作性较强的自学路线,同时收集了多种形式的 Python 优质学习资源,供诸位尚未入门或刚入门不久的同学参考。

接下来我把我的学习过程写在下面,并附上在每个阶段的学习资料,希望对零基础的Python学习者有所帮助。

一、入门阶段

这个阶段非常重要,关系到初学者是从入门到精通还是从入门到放弃。

选一条合适的入门路线,并坚持下去。

参考:Python学习路线图

1. 配置Python开发环境

①. Python2 还是 Python3?

很多人都在纠结入门应该学 Python2 还是 Python3。这其实不是个问题。我从没听过某个人是 Python2 程序员或 Python3 程序员。二者只是程序不兼容,思想上并无大差别,语法变动也并不多。选择任何一个入手,都没有大影响。

如果你仍然无法抉择,那请选择 Python3,毕竟这是未来的趋势。

参考知乎回答:应该学习最新版本的 Python 3 还是旧版本的 Python 2?

②. 编辑器该如何选?

我推荐 pycharm 社区版,配置简单、功能强大、使用起来省时省心,对初学者友好。并且还是完全免费的!

社区版地址:PyCharm

其他可以尝试的编辑器:

  • idle: Python 自带编辑器。如果只是想尽快写出几行代码来,这是最简便的方式。
  • vs code: Visual Studio Code - Code Editing. Redefined
  • atom: A hackable text editor for the 21st Century
  • SublimeText: Sublime Text - Download
  • notepad++: Notepad++ Home

为了让初学者集中更多的精力在写代码这件事情上,所以我们就不推荐 vim 和 Emacs 了。

③. 操作系统?

Python 支持现有所有主流操作平台,不管是 windows 还是 mac 还是 linux,都能很好的运行 Python。并且后两者都默认自带 Python 环境。

2. 入门教程

①. 视频教程

推荐:最新Python视频教程

最新Python视频教程,全套完整版,从Day1-Day92,从入门到精通,决不放弃!

②. 图文教程

  • 廖雪峰老师的Python教程:https://www.liaoxuefeng/wiki/1016959663602400

廖老师的教程涵盖了 Python 知识的方方面面,内容更加系统,有一定深度,有一定基础之后学习会有更多的收获。

  • Vamei老师的Python快速教程:https://wwwblogs/vamei/archive/2012/09/13/2682778.html

Python包含的内容很多,加上各种标准库、拓展库,乱花渐欲迷人眼。这是一个快速的、容易上手的Python教程,而且言语简洁,循序渐进,让没有背景的读者也可以从基础开始学习。Vamei老师在每一篇文章中专注于一个小的概念,让大家在闲暇时就可以很快读完。

  • Python3 简明教程:https://www.shiyanlou/courses/596

简明易懂的 Python3 课程,不仅适用于那些有其它语言基础的同学,对没有编程经验的同学也非常友好。本课程不仅讲解了 Python3 基础知识,还介绍了 PEP8、Virtualenv、测试、项目结构以及 Flask 相关内容

③. 其他推荐教程(书籍)

  • 《父与子的编程之旅》 又名 《与孩子一起学编程》

这也是一本非常适合零基础的 Python 入门书籍。喜欢阅读纸质书的同学可以买一本,不少在线书店有售。

  • 《简明 Python 教程》

这是一本言简意赅的 Python 入门教程,简单直白,没有废话。适合有过其他语言基础的人快速了解 Python 语法。

二、提升阶段

完成入门阶段的基础学习之后,常会陷入一个瓶颈期,通过看教程很难进一步提高编程水平。这时候,需要的是练习,大量的练习。

可以从书上的例程开始写,再写小程序片段,然后写完整的项目。

我收集了一些练习题和网站。可根据自己阶段,选择适合的练习去做。建议最好挑选一两个系列重点完成,而不是到处浅尝辄止。

1. Python 练习册,每天一个小程序

GitHub - Yixiaohan/show-me-the-code: Python 练习册,每天一个小程序

2. Python 图片转字符画

用 50 行 Python 代码完成图片转字符画小工具。通过这个小项目你将学习到 Linux 命令行操作,Python 基础,pillow 库的使用,argparse 库的使用。

3. 200行Python代码实现2048

仅用200行的 python 代码完成2048小游戏的编写。通过这个小项目你将学习 Python 基本知识,状态机的概念,以及编写 python 游戏的步骤。

4. Python 破解验证码

通过一个简单的例子来实现破解验证码。从中我们可以学习到 Python 基本知识,PIL 模块的使用,破解验证码的原理。

5. Python文本解析器

一个使用 Python 来解析纯文本生成一个 HTML 页面的小程序。从中我们学习到Python基本语法,HTML标记语言,以及如何用 Python 将纯文本分成一个一个的文本块,并对它对解析。

6. Python实现Python解释器

从实现一个玩具解释器开始学习解释器的基本知识。之后通过考察Python字节码进一步学习理解Python解释器的内部机制。最终参考``Byterun``(一个现有的Python解释器)实现一个500行以内的Python解释器。

7. Python扫雷小游戏

8. python大作业 五子棋 人人对战

9. 经典趣味24点游戏程序设计(python)

10. 一个使用django开发的综合成绩管理系统 ,

项目地址:https://github/gnemoug/ComPerformance

三、经验之谈

很多人都推荐小白第一门语言选Python,因为语法简单。这句话只说了一半,Python确实容易上手,对初学者的门槛很低。但我发现,对于小白真正的门槛在于系统知识,这就和用什么语言完全没有任何关系了。例如很多人学完了Python的语法,觉得确实简单,但是转头去用Python标准库的时候,却发现自己连文档都看不懂。标准库提供了Python和其它系统功能的接口,最终实现了Python和系统之间的互动。读标准库需要系统知识,比如操作系统,数据库,进程和线程,socket编程,网络协议等等,这些对于编程小白来才构成很高的门槛,但是只有学会这些,才能真正发挥出Python的威力来。

记住:在编程的道路上,没有捷径。

更多推荐

挑战3个月自学Python:挑战成功!