Python 学习路线(2022)
原文链接: Python 学习路线(2022)
前几天整理了一份 Go 学习路线(2022),广受好评。那么趁火打劫,不是,是趁热打铁,又整理了一份 Python 学习路线。
内容依然是从入门到进阶,既有教程,也有经典书籍推荐,还有实战开源项目。

Python 的发展方向还是挺多的,比如服务端开发,爬虫,数据分析,机器学习等,本文推荐的内容全部是服务端开发,Web 开发方向。
主要分为以下几个部分:
- 文档教程
- 书籍推荐
- Web 开发
- 开源项目
- 实用工具
- 技术社区和博客

文档教程

Python 官方文档
网站地址: https://docs.python.org/zh-cn/3/

Python 的官方文档,支持简体中文语言,可以切换 Python 版本,根据不同版本看对应的内容,包括教程,标准库,安装使用等。有什么能比官方文档更好呢?
廖雪峰 Python 教程
网站地址: https://www.liaoxuefeng.com/wiki/1016959663602400

很多程序员对廖雪峰这个名字应该并不陌生,对他的个人网站应该也不陌生。这个 Python 教程对于编程新手非常友好,内容基础,全面,而且还有完整的示例。
其实,从阅读量也能看得出来,这个教程真的很多人读。
菜鸟教程 - Python 基础教程
网站地址: https://www.runoob.com/python/python-tutorial.html

这个网站就不需要多介绍了吧,很多编程语言的入门教程都可以在这里找到。平时写代码过程中,某个知识点忘了,也可以到这里查。
The Hitchhiker’s Guide to Python
网站地址: https://docs.python-guide.org/

这是一份新手和进阶人员都可以读的教程,内容从安装,虚拟环境搭建开始讲起,然后介绍 Python 最佳实践和实战,比如如何构建项目,网络开发,Web 开发等。
现在已经出实体书了,不过,我觉得看这份教程也足够了。毕竟,白漂就是爽。
learn-python
网站地址: https://github.com/trekhleb/learn-python
一份以代码和注释方式讲解 Python 的免费教程。
每段 Python 程序都会按不同主题进行分类,而且每个基础语法和知识点都采用可以运行的代码为例进行讲解,再配上适当的注释和参考资料,让你快速上手。
书籍推荐
授人以鱼不如授人以渔,首先推荐一个网站:
网站地址: https://pythonbooks.org/

这是一个专门推荐 Python 书籍的网站,会按照书籍的流行度来排名,并且按不同功能进行分组。比如说入门书籍,进阶书籍,或者 Web 开发类书籍,机器学习类书籍等。
网站内容是每个月更新一次,闲暇时间的话可以来逛一逛,然后根据自己的水平和学习方向来选择书籍,还是挺不错的。
下面介绍我推荐的书籍,虽然分了入门和进阶,但是很多书中这两部分内容是都包含了的。大家看的时候可以根据自己的情况,先打好基础,再进行进阶。

入门
《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
项目地址: https://github.com/django/django
Python 中最流行的 Web 框架,功能非常全面,像安全认证,URL Routing,模板引擎,ORM,甚至 Admin 管理后台,全部包括。
Flask
项目地址: https://github.com/pallets/flask
也是非常流行的一个 Web 框架,它的特定是轻便,灵活,可定制性强。
用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时,实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。
Bottle
项目地址: https://github.com/bottlepy/bottle
一个简单高效的遵循 WSGI 的微型 Web 框架。说微型,是因为它只有一个文件,除 Python 标准库外,它不依赖于任何第三方模块。
这个框架使用的比较少,不过源码也很少,如果想读源码的话,从它入手倒是一个不错的选择
Tornado
项目地址: https://github.com/tornadoweb/tornado
Tornado 是一个基于 Python 的 Web 服务框架和异步网络库,通过利用非阻塞网络 I/O, 可以承载成千上万的活动连接。在需要长连接的场景下使用,效果会更好。
Sanic
项目地址: https://github.com/sanic-org/sanic
2016 年 5 月发布的第一个版本,整体表现还是不错的,使用的人也越来越多。
Sanic 是 Python3.7+ Web 服务器和 Web 框架,旨在提高性能。它允许使用 Python3.5 中添加的 async/await 语法,可以使代码有效的避免阻塞从而达到提升响应速度的目的。
开源项目
阅读开源项目对提高编程水平是很有帮助的,下面推荐的开源项目有的是我读过的,有的是正准备读的。
说实话,有的时候看到好的开源项目会非常自卑,为什么人家就能写出那么优雅的代码,而自己写的是如此垃圾。可能这就是程序员成长的必经之路吧。

alive-progress
项目地址: https://github.com/rsalmei/alive-progress
一个用 Python 实现的非常炫酷的进度条项目。
python-patterns
项目地址: https://github.com/faif/python-patterns
使用 Python 实现一些设计模式的例子。
学语言的同时可以学习一些设计模式,在开发过程中使用恰当的设计模式,可以使自己的代码更加优雅。
peewee
项目地址: https://github.com/coleifer/peewee
Peewee 是一个小型的 ORM 项目,整体规模不大,更容易学习。
如果想看 Django 源码,不妨从 Peewee 入手。
flask-sqlalchemy
项目地址: https://github.com/pallets/flask-sqlalchemy
Flask-SQLAlchemy 是一 个Flask 扩展,简化了在 Flask 程序中使用 SQLAlchemy 的操作。
awesome-django-cn
项目地址: https://github.com/haiiiiiyun/awesome-django-cn
又看到 awesome 了,这个项目收集了大量 Django 相关的优秀应用、项目等资源,方便 Django 用户参考查阅。
500lines
项目地址: https://github.com/aosabook/500lines
这真的是一本神书,在网上也有很多人推荐。它包含了十几个不同章节,比如 ci,crawler,ocr 等,每个章节都由该领域大牛完成。
它的厉害之处就在于每个章节都试图用 500 行,甚至更少的代码去实现相应功能。如果仔细研究各个章节的代码,一定会对 Python 有更深刻的理解。
requests
项目地址: https://github.com/psf/requests
Kenneth Reitz 大神的成名之作,如果想读 Python 源码的话,那一定要看,感受一下什么是真正的 Pythonic 代码。
在这里再推荐一份 Requests 源码阅读清单,可以作为参考。
https://github.com/wangshunping/read_requests
awesome-python
网站地址: https://github.com/vinta/awesome-python
跟大家分享一个小技巧,看到项目名中带有 awesome,那说明这个项目一定不简单。
awesome-python 是 vinta 发起维护的 Python 资源列表,内容包括:Web 框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。
看过这个项目,那一定会感叹,知识太多了,根本学不完。
实用工具

Python Tutor
网站地址: http://www.pythontutor.com/

Python Tutor 是由 Philip Guo 开发的一个免费教育工具,可帮助学生攻克编程学习中的基础障碍,理解每一行源代码在程序执行时在计算机中的过程。
通过这个工具,可以直接在 Web 浏览器中编写 Python 代码,并逐步可视化地运行程序。
如果你不知道代码在内存中是如何运行的,不妨把它拷贝到 Tutor 里可视化执行一遍,加深理解。
在这篇文章 一个关于 += 的谜题 中有过这个工具的使用。
IPython
网站地址: https://ipython.org/
IPython 是一个 for Humans 的 Python 交互式 shell,用了它之后你就不想再用自带的 Python shell 了。
IPython 支持变量自动补全,自动缩进,内置了许多实用功能和函数,同时它也是科学计算和交互可视化的最佳平台。
online-python
网站地址: https://www.online-python.com/

这个没什么可说的,在线编辑和运行代码。
技术社区和博客

学习编程并不是一蹴而就,而是需要长期的坚持和训练。整理这份学习路线,是希望和大家共同进步。不管是编程新手,还是需要进阶的有一定经验的程序员,我相信都可以从中有所收获。
文中涉及到的资源和思维导图源文件都在 GitHub 开源了,大家可以自取。
以上就是本文的全部内容,如果觉得还不错的话,欢迎点赞,转发,和关注,我们下期再见。
推荐阅读:
Python 学习路线(2022)的更多相关文章
- 【最新发布】最新Python学习路线,值得收藏
随着AI的发展,Python的薪资也在逐年增加,但是很多初学者会盲目乱学,连正确的学习路线都不清楚,踩很多坑,为此经过我多年开发经验以及对目前行业发展形式总结出一套最新python学习路线,帮助大家正 ...
- python入门灵魂5问--python学习路线,python教程,python学哪些,python怎么学,python学到什么程度
一.python入门简介 对于刚接触python编程或者想学习python自动化的人来说,基本都会有以下python入门灵魂5问--python学习路线,python教程,python学哪些,pyth ...
- 关于python学习路线
*Python进阶(目录/书籍/学习路线) 忘了从哪里转的了,没办法标记哦,实在不好意思... 目录:) 1. 简介&helloworld&开发环境配置 2.基本语法:标识符& ...
- Python学习路线2019升级版(课程大纲+视频教程+网盘资源下载)
2019最新Python全栈+人工智能学习路线升级版 全面涵盖前端.后端.爬虫.数据挖掘.人工智能等课程(课程大纲+视频教程+网盘资源下载)! 学习路线四大亮点: 1.人工智能三大主流框架全覆盖 2. ...
- 比培训机构还详细的 Python 学习路线,你信吗 0^0
前言 这其实是将自己写的文章进行一个总结分类,并不代表最佳学习路线 会不断更新这篇文章...没链接的文章正在编写ing...会不会哪天我的这个目录就出现在培训机构的目录上了... 目前实战比较少(要是 ...
- Python学习路线【对标大厂Python工程师的招聘要求,并推荐优质免费资源】打卡学习不迷茫
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文要点:从Python爬虫工程师的招聘要求出发制定学习路线,同时还推荐免费优质的学习资源. 打卡学习不迷茫. 干货满满,建议收藏,需要用到时常看 ...
- python学习路线以及视频下载
作者:林其链接:https://www.zhihu.com/question/19660572/answer/194904019来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- 这是2020年最强Python学习路线,从入门到精通!
给大家整理的这套python学习路线图,按照此教程一步步的学习来,肯定会对python有更深刻的认识.或许可以喜欢上python这个易学,精简,开源的语言.全民学Python的话题铺天盖地,中国的Py ...
- python学习路线--从入门到入土
入门技术博客 进阶自己挑选 入门基础 Python入门相对容易又可以干很多事(网站,运维,数据,爬虫等),是一门方便的工具语言.2016年TIOBE排名显示Python已经名列第四,成为脚本语言之首. ...
随机推荐
- python 小兵面向对象
Python 面向对象 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. 如果你以前没有接触过 ...
- Pycharm新建文件时头部模板的配置方法
方法
- MariaDB Spider 数据库分库分表实践
分库分表 一般来说,数据库分库分表,有以下做法: 按哈希分片:根据一条数据的标识计算哈希值,将其分配到特定的数据库引擎中: 按范围分片:根据一条数据的标识(一般是值),将其分配到特定的数据库引擎中: ...
- python程序语法元素分析
#TemConvert.py TempStr = input("请输入带有符号的温度值:") if TempStr[-1] in ['F', 'f']: C = (eval(Tem ...
- Nacos极简教程
简介 Nacos是服务发现与注册,服务配置中心. Nacos 具有如下特性: 服务发现和服务健康监测:支持基于DNS和基于RPC的服务发现,支持对服务的实时的健康检查,阻止向不健康的主机或服务实例发送 ...
- Android 四种方法写按钮点击事件
1.匿名内部类的方式 2. 创建一个类实现onclickListener,实现onclick方法,设置控件点击事件时传一个类的对象. 3. 让当前类实现onclickListener,设置控件点击事件 ...
- netty系列之:真正的平等–UDT中的Rendezvous
目录 简介 建立支持Rendezvous的服务器 处理不同的消息 节点之间的交互 总结 简介 在我们之前提到的所有netty知识中,netty好像都被分为客户端和服务器端两部分.服务器端监听连接,并对 ...
- 有手就行5——jenkins项目构建类型(pipeline流水线项目构建推荐)
有手就行5--jenkins项目构建类型(pipeline流水线项目构建推荐) Pipeline简介 1) 概念 Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立 ...
- 【HDU6687】Rikka with Stable Marriage(Trie树 贪心)
题目链接 大意 给定\(A,B\)两个数组,让他们进行匹配. 我们称\(A_i\)与\(B_j\)的匹配是稳定的,当且仅当目前所剩元素不存在\(A_x\)或\(B_y\)使得 \(A_i\oplus ...
- 实现基于MYSQL验证的vsftpd虚拟用户访问
一.配置mysql服务器 1.1 安装mysql # yum -y install mariadb-server # systemctl enable --now mariadb.service &a ...