前几天整理了一份Python 学习路线。
内容依然是从入门到进阶,既有教程,也有经典书籍推荐,还有实战开源项目。
Python 的发展方向还是挺多的,比如服务端开发,爬虫,数据分析,机器学习等,本文推荐的内容全部是服务端开发,Web 开发方向。
主要分为以下几个部分:
- 文档教程
- 书籍推荐
- Web 开发
- 开源项目
- 实用工具
- 技术社区和博客
文档教程
Python 官方文档
网站地址: docs.python.org/zh-cn/3/
Python 的官方文档,支持简体中文语言,可以切换 Python 版本,根据不同版本看对应的内容,包括教程,标准库,安装使用等。有什么能比官方文档更好呢?
廖雪峰 Python 教程
网站地址: www.liaoxuefeng.com/wiki/101695…
很多程序员对廖雪峰这个名字应该并不陌生,对他的个人网站应该也不陌生。这个 Python 教程对于编程新手非常友好,内容基础,全面,而且还有完整的示例。
其实,从阅读量也能看得出来,这个教程真的很多人读。
菜鸟教程 - Python 基础教程
网站地址: www.runoob.com/python/pyth…
这个网站就不需要多介绍了吧,很多编程语言的入门教程都可以在这里找到。平时写代码过程中,某个知识点忘了,也可以到这里查。
Python 在线手册
网站地址: docs.pythontab.com/
一个导航类学习网站,除了 Python,还有 Django,Flask 等等,可以选择自己感兴趣的技术来学习。
The Hitchhiker’s Guide to Python
网站地址: docs.python-guide.org/
这是一份新手和进阶人员都可以读的教程,内容从安装,虚拟环境搭建开始讲起,然后介绍 Python 最佳实践和实战,比如如何构建项目,网络开发,Web 开发等。
现在已经出实体书了,不过,我觉得看这份教程也足够了。毕竟,白漂就是爽。
learn-python
网站地址: github.com/trekhleb/le…
一份以代码和注释方式讲解 Python 的免费教程。
每段 Python 程序都会按不同主题进行分类,而且每个基础语法和知识点都采用可以运行的代码为例进行讲解,再配上适当的注释和参考资料,让你快速上手。
书籍推荐
授人以鱼不如授人以渔,首先推荐一个网站:
网站地址: pythonbooks.org/
这是一个专门推荐 Python 书籍的网站,会按照书籍的流行度来排名,并且按不同功能进行分组。比如说入门书籍,进阶书籍,或者 Web 开发类书籍,机器学习类书籍等。
网站内容是每个月更新一次,闲暇时间的话可以来逛一逛,然后根据自己的水平和学习方向来选择书籍,还是挺不错的。
下面介绍我推荐的书籍,虽然分了入门和进阶,但是很多书中这两部分内容是都包含了的。大家看的时候可以根据自己的情况,先打好基础,再进行进阶。
以下电子书已打包好了,若需要电子书可以戳蓝色字体领取【Python电子书】
入门
《Python编程:从入门到实践(第2版)》
本书是一本非常基础的 Python 入门书,手把手教,编程小白都能看得懂。
全书分两部分:
第一部分介绍 Python 编程所必须了解的基本概念,包括 matplotlib、NumPy 和 Pygal 等强大的 Python 库和工具,以及列表、字典、if
语句、类、文件与异常、代码测试等内容;
第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的 Python 2D 游戏开发,如何利用数据生成交互式的信息图,以及创建和定制简单的 Web 应用,并帮读者解决常见编程问题和困惑。
《"笨办法"学Python 3》
本书是一本 Python 入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。
这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。
《Python基础教程(第3版)》
久负盛名的 Python 入门经典,中文版累计销量 20+ 万册,这一版是针对 Python3 的全新升级。
本书包括 Python 程序设计的方方面面:
首先,从 Python 的安装开始,随后介绍了 Python 的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句。
然后,循序渐进地介绍了一些相对高级的主题,包括抽象、异常、魔法方法、属性、迭代器。
此后,探讨了如何将 Python 与数据库、网络、C 语言等工具结合使用,从而发挥出 Python 的强大功能,同时介绍了 Python 程序测试、打包、发布等知识。
最后,作者结合前面讲述的内容,按照实际项目开发的步骤向读者介绍了10个具有实际意义的Python项目的开发过程。
《Python学习手册(第4版)》
这本书全面、深入地介绍了 Python 语言,不管你是编程新手还是 Python 初学者,它将帮助你快速实现使用 Python 编写高质量,且易于与其他语言和工具集成的代码。
本书每一章都是关于 Python 语言独立的内容,并且带有练习和测试,还有众多带注释的示例和图表,简单易学,适合入门。
《Python Cookbook 中文版(第 3 版)》
本书覆盖了 Python 应用中的很多常见问题,并提出了通用的解决方案,写作的套路就是,先提出问题,再来解决。书中包含了大量实用的编程技巧和示例代码,并在 Python 3.3 环境下进行了测试,可以很方便地应用到实际项目中去。
非常适合具有一定编程基础的Python程序员阅读参考。
进阶
《Python核心编程(第 3 版)》
本书是经典畅销图书《Python核心编程(第二版)》的全新升级版本。作者根据 Python 3.0 版本的种种变化,全面改写了书中内容。
整体章节编排来看,涉及的知识点比较多,内容也比较杂,包括网络编程,GUI 编程,数据库编程等,适合有一定编程经验的人,针对特定需求进行阅读。
《深入理解Python特性》
对语言了解的越多,用起来就越顺,本书只有不到 200 页,这在技术书籍里是很少见的,可以作为《流畅的Python》的开胃菜。
这本书将通过简单的示例和分步说明来介绍 Python 的最佳实践以及 Python 代码的强大魅力。借助本书,你将专注于真正重要的实践技能,在 Python 的标准库中发现「隐藏的金子」。
《流畅的Python》
本书由奋战在 Python 开发一线近 20 年的 Luciano Ramalho 执笔,Victor Stinner、Alex Martelli 等 Python 大咖担纲技术审稿人,从语言设计层面剖析编程细节,教你写出风格地道的 Python 代码。
对于想要扩充知识的中级和高级 Python 程序员来说,这本书是充满了实用编程技巧的宝藏。
《Effective Python:编写高质量 Python 代码的59个有效方法》
很薄的一本书,但看过之后一定会大有收获。
用 Python 编写程序是相当容易的,但若想掌握 Python 所特有的优势、魅力和表达能力,则相当困难,而且语言中还有很多隐藏的陷阱,容易令开发者犯错。
本书可以帮你掌握真正的 Pythonic 编程方式,令你能够完全发挥出 Python 语言的强大功能,并写出健壮而高效的代码
《Python高手之路》
本书是偏向于工程实践的一本书,作者分享了很多个人的实战开发经验。
从如何开始一个新的项目讲起,首先是整个项目的结构设计,对模块和库的管理,如何编写文档,进而讲到如何分发,以及如何通过虚拟环境对项目进行测试。
此外,还涉及了很多高级主题,如性能优化、插件化结构的设计与架构等。
Web 开发
提到 Python 的 Web 框架,第一反应就是老三样,Django,Flask 和 Tornado。如果按流行度来排名的话,应该也是这个顺序。
在 2016 年,发布了一款 Web 框架,叫 Sanic,表现还不错,应该算是后起之秀。
Django
项目地址: github.com/django/djan…
Python 中最流行的 Web 框架,功能非常全面,像安全认证,URL Routing,模板引擎,ORM,甚至 Admin 管理后台,全部包括。
Flask
项目地址: github.com/pallets/fla…
也是非常流行的一个 Web 框架,它的特定是轻便,灵活,可定制性强。
用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时,实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。
Bottle
项目地址: github.com/bottlepy/bo…
一个简单高效的遵循 WSGI 的微型 Web 框架。说微型,是因为它只有一个文件,除 Python 标准库外,它不依赖于任何第三方模块。
这个框架使用的比较少,不过源码也很少,如果想读源码的话,从它入手倒是一个不错的选择
Tornado
项目地址: github.com/tornadoweb/…
Tornado 是一个基于 Python 的 Web 服务框架和异步网络库,通过利用非阻塞网络 I/O, 可以承载成千上万的活动连接。在需要长连接的场景下使用,效果会更好。
Sanic
项目地址: github.com/sanic-org/s…
2016 年 5 月发布的第一个版本,整体表现还是不错的,使用的人也越来越多。
Sanic 是 Python3.7+ Web 服务器和 Web 框架,旨在提高性能。它允许使用 Python3.5 中添加的 async/await
语法,可以使代码有效的避免阻塞从而达到提升响应速度的目的。
开源项目
阅读开源项目对提高编程水平是很有帮助的,下面推荐的开源项目有的是我读过的,有的是正准备读的。
说实话,有的时候看到好的开源项目会非常自卑,为什么人家就能写出那么优雅的代码,而自己写的是如此垃圾。可能这就是程序员成长的必经之路吧。
alive-progress
项目地址: github.com/rsalmei/ali…
一个用 Python 实现的非常炫酷的进度条项目。
python-patterns
项目地址: github.com/faif/python…
使用 Python 实现一些设计模式的例子。
学语言的同时可以学习一些设计模式,在开发过程中使用恰当的设计模式,可以使自己的代码更加优雅。
peewee
项目地址: github.com/coleifer/pe…
Peewee 是一个小型的 ORM 项目,整体规模不大,更容易学习。
如果想看 Django 源码,不妨从 Peewee 入手。
flask-sqlalchemy
项目地址: github.com/pallets/fla…
Flask-SQLAlchemy 是一 个Flask 扩展,简化了在 Flask 程序中使用 SQLAlchemy 的操作。
awesome-django-cn
项目地址: github.com/haiiiiiyun/…
又看到 awesome 了,这个项目收集了大量 Django 相关的优秀应用、项目等资源,方便 Django 用户参考查阅。
500lines
项目地址: github.com/aosabook/50…
这真的是一本神书,在网上也有很多人推荐。它包含了十几个不同章节,比如 ci,crawler,ocr 等,每个章节都由该领域大牛完成。
它的厉害之处就在于每个章节都试图用 500 行,甚至更少的代码去实现相应功能。如果仔细研究各个章节的代码,一定会对 Python 有更深刻的理解。
requests
项目地址: github.com/psf/request…
Kenneth Reitz 大神的成名之作,如果想读 Python 源码的话,那一定要看,感受一下什么是真正的 Pythonic 代码。
在这里再推荐一份 Requests 源码阅读清单,可以作为参考。
awesome-python
网站地址: github.com/vinta/aweso…
跟大家分享一个小技巧,看到项目名中带有 awesome,那说明这个项目一定不简单。
awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web 框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。
看过这个项目,那一定会感叹,知识太多了,根本学不完。
实用工具
Python Tutor
网站地址: www.pythontutor.com/
Python Tutor 是由 Philip Guo 开发的一个免费教育工具,可帮助学生攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。
通过这个工具,可以直接在 Web 浏览器中编写 Python 代码,并逐步可视化地运行程序。
如果你不知道代码在内存中是如何运行的,不妨把它拷贝到 Tutor 里可视化执行一遍,加深理解。
在这篇文章 一个关于 += 的谜题 中有过这个工具的使用。
IPython
网站地址: ipython.org/
IPython 是一个 for Humans 的 Python 交互式 shell,用了它之后你就不想再用自带的 Python shell 了。
IPython 支持变量自动补全,自动缩进,内置了许多实用功能和函数,同时它也是科学计算和交互可视化的最佳平台。
online-python
网站地址: www.online-python.com/
这个没什么可说的,在线编辑和运行代码。
技术社区和博客
学习编程并不是一蹴而就,而是需要长期的坚持和训练。整理这份学习路线,是希望和大家共同进步。不管是编程新手,还是需要进阶的有一定经验的程序员,我相信都可以从中有所收获。
Python入门学习资料
1.Python系统学习路线图
首先,对于没有学习方向,知识不体系的人,我把我工作几年整理的学习路线分享给大家,做一个借鉴作用,还不知道怎么学习的人可以直接照着我这个学习路线一个个的去学习,知识不体系的人可以参考下我整理路线的方式,总之希望能够帮到你们!
2.Python必备开发工具
3.看视频进行系统学习
先在网上康康达人分享的视频、干货,通俗易懂,形成初始概念;你会发现博主们在进阶成大神之前他们的学习途径有哪些,找到适合自己风格的课程;
不过这样学习技术比较杂乱,所以通过更加系统的视频来学习,效果更好,也更全面。
4.实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
最后
如果你也想自学Python,可以关注我。我会把踩过的坑分享给你,让你不要踩坑,提高学习速度,还整理出了一套系统的学习路线,这套资料涵盖了诸多学习内容:开发工具,基础视频教程,项目实战源码,51本电子书籍,100道练习题等。相信可以帮助大家在最短的时间内,能达到事半功倍效果,用来复习也是非常不错的。
希望这篇文章对你有帮助,也希望能帮到大家,因为你我都是热爱python的编程语言爱好者。
————————————————
↓↓↓↓
资料获取:已打包,添加文末 Python笔记领取即可获取!