本文是2021最新Python开发学习路线,根据不同方向推荐了一些要学习的内容,同时根据要学习的领域,给出需要关注的技能项和学习资料,会有推荐一些比较好的网络免费课程,以及一些经典权威图书,部分图书附有pdf下载链接,可以直接获取(后续会不断补全),避免找资源的时间。
希望能给大家的Python语言学习,能有所帮助!
参考学习脑图:
前言
脑图部分仅仅是针对一个Python开发工程师的学习路线推荐,实际上作为任何语言的学习,还是要先了解计算机基础,以及一些网络相关的基础知识。下面会按领域和类别,按照技能项,对各个部分推荐一些学习教程和图书,方便大家进行学习。
1、计算机基础
计算机基础是学习任何语言之前,都需要先了解的。可能有人会疑问,”我编程是写代码,为什么摇了解一些计算机底层的东西,我又用不到?“
基础的东西,在刚接触语言的时候,确实感觉似乎没什么实质的”作用“,但是在后续的职业发展中,这部分将会是你和同事拉开距离、避免内卷的王牌。程序员后续的职业发展,如果是技术方向,最高的就是架构师、CTO,底层原理的通晓是必备。
作为初学者,这部分还是要花些功夫,这部分对于面试也是有极大帮助。
(1)操作系统
该部分主要的技能项:进程管理、内存管理、文件管理、输入输出等。
推荐书籍:
《计算机操作系统(第三版)》
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zo7P4lY3-1625474928376)(https://developer.hs.net/storage/attachments/2021/07/04/TXCPjJvRXKVt6mSPDh55tTpCZz2YcfMsfIKOGeLQ_thumb.png “1959”)]
《操作系统概论》
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7nY1N7zY-1625474928378)(https://developer.hs.net/storage/attachments/2021/07/04/lCUrZGTQLzyLjbwwyegvzak7wt44RvUs8JuGZU5u_thumb.png “1953”)]
(2)计算机网络基础
主要是了解一些网路基础知识,主要是一些协议和网路相关知识。
推荐书籍:《TCP/IP详解》系列,主要了解卷三,可以对网络七层模型、TCPUDP、IP部分先做了解学习。
(3)数据结构与算法
这部分是要贯穿程序生涯始终的部分,所以可以在掌握了一些开发基础后,进行深入学习,基本上语言学习入门后,在掌握了数据结构相关知识,刷算法题应该是成为每日必备。尤其是现在开发岗位面试,无论什么年限和title,无论笔试还是技术面,都会有这部分的涉及,答的好往往对最后拿到Offer取到关键作用。
技能项:
算法:二分法、递归、回溯法、 排序算法、搜索算法、哈希算法、贪心算法、分治算法、动态规划、字符串匹配算法等。
数据结构:数组或向量、链接列表、堆栈、树、队列、哈希、链表等。
推荐书籍:
《数据结构与算法-Python语言描述》
《Python数据结构与算法分析》(图灵出版)
《图解算法 使用Python》
(4)Linux操作系统
技能项:Linux基础、Shell基础、系统管理、网络服务等
推荐书籍:
《深入理解Linux内核》
2、Python编程
这部分主要介绍语言的徐熙,包括编程工具了解,基础语法和高级语法学习。
(1)编程工具
python编程工具主要有自带的ide工具、Pycharm、Sublime Text、Eclipse+Pydev等。
比较推荐Pycharm,PyCharm 是由 JetBrains 打造的一款 Python IDE。
PyCharm 具备一般 Python IDE 的功能,比如:调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。
另外,PyCharm 还提供了一些很好的功能用于 Django 开发,同时支持 Google App Engine,更酷的是,PyCharm 支持 IronPython。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rchUOEZn-1625474928389)(https://developer.hs.net/storage/attachments/2021/07/04/LzGLTIBc5ssR5jCOHCQRrFZncWPzwIsw6AJHZ9XQ_thumb.png “1955”)]
PyCharm 官方下载地址:http://www.jetbrains.com/pycharm/download/
(2)Python基础语法
技能项:
基本数据类型、解释器、运算符、列表、元组、字典、集合、条件控制、循环语句、模块、文件管理IO、面向对象、异常等。
教程及图书推荐:
Python基础教程
Python3教程
深入Python3
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kNGimaPZ-1625474928390)(https://diveintopython3.net/i/cover.jpg)]
廖雪峰学习网站-Python教程
《Think Python》
(3)Python高级编程
技能项:
正则表达式、面向对象、多线程、网络编程、XML解析、Json解析等。
3、常用库&框架
(1)web框架
技能项:Django框架、Flask框架、Pyramid、Japronto(高性能微服务架构)、Tornado等。
教程推荐:
Django:Django教程、Django详细学习文档
Flask:Flask框架学习
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KBrmyO3b-1625474928394)(https://developer.hs.net/storage/attachments/2021/07/04/ULTZRkdiEaUCPUlFCgLdPhcQ1Vjw1P5EEwEKb0ke_thumb.png “1956”)]
Japronto:git项目地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vwXv4PgV-1625474928395)(https://developer.hs.net/storage/attachments/2021/07/04/CQoGF7oc3Qmznx4tXskV2WyAExquRT2uckd57MPI_thumb.png “1957”)]
Tornado:Tornado网络异步框架
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mnavawdq-1625474928397)(https://developer.hs.net/storage/attachments/2021/07/04/cex4JidiNmVCe14qSPXHZL5PvluHPrlbt82lKiF3_thumb.png “1958”)]
(2)爬虫(数据抓取)
技能项:Scrapy、PySpider、Portia、Beautiful Soup、Cola(分布式爬虫框架)。
教程推荐:
Scrapy:Scrapy入门教程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7oPrIMkg-1625474928398)(https://developer.hs.net/storage/attachments/2021/07/04/jdinVzCfWxANnzHmlQeU2mVOphWLDIApuqfHMMtj_thumb.png “1960”)]
PySpider:PySpider(蜘蛛)教程
Portia:Portia官网
Beautiful Soup:中文学习文档
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3RyCqJoL-1625474928399)(https://developer.hs.net/storage/attachments/2021/07/04/O7IlPyYWaPOlxgYFPWAt36ibgswGCpcLpgfJVQBW_thumb.png “1961”)]
Cola:git项目地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9ez9xlma-1625474928400)(https://developer.hs.net/storage/attachments/2021/07/04/KnfmDzsMCoNuEe79NGyyiDgevfYKHSOhg2m61aO6_thumb.png “1962”)]
(3)数据分析
**技能项:**NumPy、Scipy、Pandas。
视频课程推荐:
恒生LIGHT云社区-【极客时间】:
Python金融数据分析系列课程
(1)数据挖掘基础知识介绍
(2)学习数据挖掘最佳路径
(3)常用的数据挖掘主要解决什么问题
(4)最全数据挖掘常用算法讲解
(5)经典数据挖掘案例分析
教程及书籍推荐:
NumPy:NumPy教程
Pandas:Pandas教程、Pandas Git地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vORBLKaC-1625474928401)(https://developer.hs.net/storage/attachments/2021/07/04/mlaORCXGZucVVCUjciTtX063r1WCt9DpSjbX8MSa_thumb.png “1963”)]
《SciPy and NumPy》
(4)数据可视化
**技能项:**Matplotlib、Seaborn、Bokeh。
教程参考:
Matplotlib:Matplotlib是NumPy的绘图库,配合NumPy使用。NumPy Matplotlib教程
Bokeh:bokeh.models.tools
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JgqZbeud-1625474928402)(https://developer.hs.net/storage/attachments/2021/07/04/DqV4tArqtzJXSTHjzG34SBQWXbZE4Y3vPLzRqoAp_thumb.png “1966”)]
(5)人工智能
**技能项:**TensorFlow。
教程参考:
TensorFlow教程
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3F86CLQ5-1625474928403)(https://developer.hs.net/storage/attachments/2021/07/04/HCVPD1ZtNFTPryTkXUuils1YbTv6DAIXhvnORjUa_thumb.png “1967”)]
4、工程化和工具
(1)持续集成
CI集成:Jenkins。
Jenkins:Jenkins官网
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l8XRSdKj-1625474928404)(https://developer.hs.net/storage/attachments/2021/07/04/SN1MphHzcYID5ecAzNNEkIysozOEdYUR5UlQr7LF_thumb.png “1969”)]
(2)代码质量
Flake8。
(3)版本管理
**工具推荐:**Git、Svn等。
教程参考:
SVN:SVN教程
GIT:GIT教程、Git完整命令手册
5、测试常用框架
(1)自动化测试
**技能项:**Robot Framework、Pytest。
教程参考:
Robot Framework:官方地址
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2qmMw3OF-1625474928405)(https://developer.hs.net/storage/attachments/2021/07/04/dzrWRn6znzuMSrHGj8enIXdl4Vj7xGxhCMvF6iy5_thumb.png “1968”)]
Pytest:Pytest Git 地址
(2)单元测试
**技能项:**UnitTest/PyUnit。
教程参考:
PyUnit:PyUnit教程
总结
对于 Python语言的学习,不像Java开发工程师,Python的学习主要根据方向,有所侧重。Python在数据爬取、分析方面,还有自动化测试及自动化运维发挥着更大的价值!
本文只是对Python语言方向,给出一个学习路线推荐,仅供参考。
既然选择了程序员行业,持续学习是每个猿必备的技能。
学如逆水行舟,不进则退!!
更多学习路线请见:开发者学习路线汇总(持续更新)