怒肝半月!Python 学习路线+资源大汇总

Python 学习路线 by 鱼皮。

原创不易,请勿抄袭,违者必究!

大家好,我是鱼皮,肝了十天左右的 Python 学习路线终于来了~

和之前一样,在看路线前,建议大家先通过以下视频了解几个问题:

Python 为什么这么火?为什么都在说学 Python 找不到工作?Python 真香么?我要学 Python 么?怎么快速学习?视频地址:https://www.bilibili.com/video/BV133411C7u5/

点击文末阅读原文可直接跳转

Python 为什么火了?

有很多原因,列举几点:

语法简单易学,其他语言 5 行代码才能实现的东西,Python 一行搞定!可以少写很多代码,因此不少同学拿 Python 刷算法题(但注意要理解算法本身哦)。类库生态丰富,想做什么功能基本都有现成的代码,拿来直接用就行,无比方便!免费开源,感兴趣、有能力的同学可以自己去研究源码。其他特性,比如跨平台、可扩展等。作为数据科学、人工智能的首选语言,踩到了时代的风口。于是乎,Python 被推向了神坛,甚至在 2021 年 10 月的编程语言排行榜中,Python 登上了第一位!

TIOBE 编程语言排行榜

但就是这样一门 “永远的神” 的编程语言,却在网上被口口相传说:学了 Python 找不到工作!

哎,为啥呢?

为什么 Python 不适合找工作?

一方面是,大多数的企业,都不用 Python 来开发应用。

因为 Python 的运行速度太慢了,别说跟底层的 C++ 比了,Java 都能甩它几条街!而且这和语言本身的设计实现有关,所以哪怕你再出什么技术去优化它的性能,也终究有个瓶颈,世界上最好的语言 PHP 也是一样。

而对企业来说,性能 会直接影响用户体验和机器成本,尤其是在这个信息爆炸、大家都在追求性能的时代,Python 在应用开发领域的地位就很尴尬,而开发岗又正好是程序员中占比极高的岗位。

另一方面,虽然 Python 的应用场景很多、相关岗位也不少,又是什么 AI、数据科学的主流语言是吧,未来很美好。但是,这些前沿技术的难点并不是 Python 语言的代码本身,而是算法和思想。Python 只是一个调包、把你思想表达出来的工具而已。所以这些前沿岗位的门槛远比你入门 Python、或者听培训机构画饼时要高的多,算法岗位、大厂的产品岗真就是神仙打架,而且研究生居多。

学习目标

既然这样,那我还要不要学 Python 呢?

我认为:必须要学!

但是,一定要先思考自己的学习目标,目标不同,对 Python 的学习态度和投入的时间也不同。

如果想找开发岗位的工作,像上面说的,不建议把 Python 作为你的主语言,而是把它当做你的副武器。只需简单学学 Python 基础,就可以编写 Python 脚本来自动化办公、提高工作效率、做一些小工具了,性价比很高。

如果说编程语言是工具,那 Python 是对这句话的完美诠释。 多会用一个神器,谁不爱呢?

如果你想找其他岗位的工作,比如运维、测试、数据分析、产品经理、大数据、爬虫、人工智能、图像处理、多媒体处理、算法研究,当然也可以,只是如果以这些岗位为目标,除了要打好 Python 基础外,更重要的是理解对应领域的思想、方法和实践,而不是只会引库调包。

如果你是初学编程或者出于好奇学编程,我也建议你学 Python,好玩、能学下去、能培养兴趣,这些对初学者非常重要,有了兴趣之后,再学别的语言就会如鱼得水。

学习建议

对于初学者和非 Python 岗位的从业者,就把 Python 当工具学,了解下基础语法和常用类库,需要写 Python 脚本时,能利用搜索引擎和文档写出(或者复制)代码就行。只要你学过其他编程语言,上手 Python 真的都很容易,3 - 7 天就能学会。

建议学习时多写些小例子,比如 Python 处理表格、Python 处理 PDF 等,感受 Python 类库的强大就完事儿~

学习路线大纲

折叠了一部分,还是老长,公众号【程序员鱼皮】回复【python】获取思维导图:

鱼皮 - Python 学习路线

学习路线

基础

Python 安装开发工具 PyCharmSublimeVS Code变量 定义变量关键字命名规则基本数据类型类型转换运算符和表达式流程控制 条件分支循环基本数据结构 字符串列表元组集合字典函数 定义参数传递作用域lambda 表达式常用内置函数⭐ 面向对象编程 类和对象三大特性 封装 self属性方法方法实例方法静态方法 访问控制 继承 单继承多继承 多态 方法重写 运算符重载装饰器反射模块 导入模块常用模块 文件处理日期时间包 导入包生成包异常处理 捕获异常try ... else ... finally 结构自定义异常文件操作 文件开闭文件读写

进阶

函数进阶 闭包匿名函数生成函数装饰器高阶函数正则表达式数据库编程 数据库基础sql 编写查询 聚合分组关联排序 事务数据库设计数据库调优并发编程 同步和异步阻塞和非阻塞多线程多进程协程并发类库网络编程 网络基础(七层模型、IP)网络协议(TCP、UDP、HTTP、HTTPS、FTP、DNS)WebSocket

web 开发

Django 框架 安装与 DemoMVT 分层模型 数据库基础ORM 单表查询多表查询聚合查询 视图模板 模板语法静态资源 路由Django Admin 管理工具测试会话鉴权文件上传中间件高级特性 分页缓存 本地缓存Redis 分布式缓存 序列化信号celery 任务调度 Restful API 开发 概念数据序列化Django Rest Framework 部署项目实战前端基础 HTMLCSSJavaScriptFlask 框架

爬虫

概念合法性数据抓取 常用网络协议(http / https)概念请求 请求头请求参数请求类型 响应 响应头响应参数 requests 模块urllib 模块模拟登陆静态 / 动态网站抓取无头浏览器 seleniumpuppeteer数据解析 常用标签BeautifulSoup正则表达式xpath数据导出 文件 ExcelCSV 数据库 MongoDBMysqL 中间件 RedisScrapy 框架 核心概念 命令行工具SpideRSSelectorsItemsItem Loaders管道Scrapy ShellLink Extractors 调度器分布式爬虫部署并发异步爬虫 aioHttpasyncio高级 IP 代理验证码识别APP 抓取增量式爬虫项目实战反爬虫 请求头限制验证码黑白名单封禁 IP数据加密数据混淆行为分析

自动化运维

Linux 环境Shell 脚本编写脚本管理脚本发布Python 运维库常用运维工具

数据分析(数据科学)

环境搭建 AnacondaCondaminicondaJupyter Notebook常用数据结构常用类库 Numpy 数组索引切片多维数组函数 Pandas SeriesDataFrame索引对齐函数统计数据处理 数据清洗层次化索引数据连接数据合并分组聚合轴向旋转数据可视化 matplotlibseabornpyechart

算法(人工智能)

鱼皮自己没怎么接触人工智能,结合网上很多大神的资料整理而成,也有一定参考意义。

数学基础 高等数学线性代数概率论统计分析机器学习 特征工程模型 模型分类模型评估模型训练模型调优 常用算法 监督与无监督学习回归(有监督) 线性回归决策树集成算法 分类(有监督) 逻辑回归决策树支持向量机集成算法贝叶斯算法 聚类(无监督) k-meansdbscan 降维 主成分分析线性判别分析 进阶 GBDT 提升算法lightgbmEM 算法隐马尔科夫模型 多因子模型常用库 Scikit-learn 量化交易策略深度学习 数据预处理算法 神经网络卷积神经网络递归神经网络对抗生成网络序列网络模型 常用算法框架和平台 Tenserflow2PytorchKerasCaffe自然语言处理图像处理计算机视觉

常用类库

Python 能被广泛应用,很大程度上是因为其丰富的类库,就是他人提前写好并封装的代码。基本你要做什么东西都能找到对应的类库,直接看文档用就行了,大大提高开发效率!

开源项目 awesome-python-cn(地址:https://github.com/jobbole/awesome-python-cn) 和 awesome-python(地址:https://github.com/vinta/awesome-python)已经帮大家整理了各方向的 Python 类库,数量非常多。鱼皮在此基础上筛选了一些相对优质的库,分享给大家。

通用

日期处理

delorean:日期处理库pendulum:日期时间操作库dateutil:对标准 datetime 模块的强大扩展

终端优化

IPython:功能丰富的交互式 Python 解析器Jupyter Notebook:基于网页的用于交互计算的应用程序prettytable生成美观的 ASCII 格式的表格Colorama:让终端具有颜色bashplotlib:在终端中进行基本绘图emoji:支持在 Python 终端输出表情Ipyvolume:在 Jupyter notebook 中可视化 3d 体积和字形

文本处理

FlashText:高效的文本查找替换库furl:url 处理库pypinyin:汉字拼音转换工具simplejson:JSON 编 / 解码器JMESPath:JSON 查询语法库

其他

pipenv:Python 官方推荐的新一代包管理工具threading:自带的线程库multiprocessing:自带的多线程库Chardet:字符编码检测器logging:日志功能PySnooper:Python 调试工具sphinx:Python 文档生成器pyttsx3:文字转语音库PyWin32:提供和 windows 的交互shortuuid:生成唯一 uuid 的库more-itertools:支持迭代操作对象cryptography:密码学工具包

网络请求 & 解析

requests:HTTP 请求库aiohttp:异步 HTTP 网络库scrapy:分布式网页采集框架pyspider:一个强大的爬虫系统BeautifulSoup:从 HTML 或 XML 文件提取数据的库you-get:网页视频下载器wget:网页文件下载musicdl:Python 音乐下载器

文件处理

openpyxl:Excel 读写库tablib:处理表格数据csvkit:用于转换和操作 CSV 的工具XlsxWriter:操作 Excelpython-docx:操作 office word 文档PyPDF2:操作 PDF 文档pdfminer:从 PDF 文档中抽取信息的工具xhtml2pdf:HTML 转 PDF 工具WeasyPrint:可视化网页,并支持导出为 PDFhtml2text:将 HTML 转换为 Markdown 文档xmltodict:像处理 JSON 一样处理 XMLmoviepy:基于脚本的视频编辑模块eyed3:操作音频文件的工具pyAudioAnalysis:音频特征提取分析

界面开发

pyQT:跨平台的用户界面开发框架Turtle:交互式绘画库pyglet:跨平台界面及多媒体框架wxPython:Python 用户界面开发工具Pygame:一组用来开发游戏的 Python 模块Manim:Python 数学动画引擎progressbar:一个滚动条函数库progress:进度条输出tqdm:快速、可扩展的进度条

测试

nose:测试框架faker:生成假数据pyautogui:跨平台 GUI 自动测试模块coverage:代码覆盖率测量sqlmap:自动 sql 注入和渗透测试工具

Web 开发

Django:Python 界最流行的 web 框架Django REST framework:用于开发 web api 的框架FastAPI:快速构建 web 应用程序flask:Python 微型框架Twisted:一个事件驱动的网络引擎

运维

psutil:跨平台的进程和系统工具模块supervisor:进程控制管理系统sh:让 Python 支持 shell 脚本dnspython:DNS 工具包scapy:数据包处理库pexpect:在伪终端中控制交互程序paramiko:远程连接服务Ansible:IT 自动化平台SaltStack:基础设施自动化和管理系统watchdog:管理文件系统事件的 API 和 shell 工具

图像处理 & 计算机视觉

Pillow:图像处理库kornia:计算机视觉库Opencv:开源计算机视觉库Mahotas:计算机视觉和图像处理库Luminoth:计算机视觉的深度学习工具集

数据分析 & 数据科学

NumPy:数值计算工具包Pandas:主流的数据分析工具pyecharts:基于百度 Echarts 的数据可视化库Dash:快速构建 Web 数据可视化应用matplotlib:Python 2D 绘图库Seaborn:使用 Matplotlib 进行统计数据可视化python-recsys:实现推荐系统的库vaex:高速大数据处理库SciPy:算法和数学工具库blaze:NumPy 和 Pandas 的大数据接口statsmodels:统计建模和计量经济学

人工智能

Tensorflow:谷歌开源的最受欢迎的深度学习框架keras:深度学习封装库,快速上手神经网络Pytorch:具有张量和动态神经网络,并有强大 GPU 加速能力的深度学习框架Caffe2:一个轻量、模块化、可扩展的深度学习框架scikit-learn:基于 SciPy 构建的机器学习 Python 模块PyMC:马尔科夫链蒙特卡洛采样工具mmdetection:深度学习目标检测工具箱imbalanced-learn:不平衡学习工具包XGBoost:分布式梯度增强库Gym:强化学习算法的工具包

自然语言处理

NLTK:自然语言处理工具包Gensim:话题建模库Pattern:自然语言处理工具fuzzywuzzy:用于字符串模糊匹配、令牌匹配等TextBlob:为进行普通自然语言处理任务提供一致的 APIPyFlux:时间序列处理库jieba:中文分词工具

大纲

(大纲图)

岗位

腾讯校招 Python 相关岗位:https://join.qq.com/post.html?keyword=python岗位薪资查询:OfferShow 小程序运维工程师Web 开发工程师(后端、全栈为主)测试工程师数据分析师产品经理算法工程师 机器学习计算机视觉NLP多媒体处理大数据工程师 大数据开发数据挖掘网络爬虫工程师技术研究员

资源

视频

零基础

⭐ 千锋教育 700 集零基础 Python 教程:https://www.bilibili.com/video/BV1R7411F7JV(非常全面,基础、web 开发、爬虫、数据分析、AI 基础都讲了,例子也很丰富)⭐ 黑马程序员600集 Python 教程:https://www.bilibili.com/video/BV1ex411x7Em(比较全面,基于 Linux 环境学习,以 Python 基础 + 面向对象为重点,还包含一部分游戏开发)⭐ Python 全栈开发教程:https://www.bilibili.com/video/BV1wD4y1o7AS(很纯粹的 Python 基础教程,案例多,适合快速入门)小甲鱼 -《零基础入门学习Python》最新版:https://www.bilibili.com/video/av52080698(可惜,更新到一半就没了。。)【麻省理工学院-中文字幕版】Python 和计算机科学导论公开课:https://www.bilibili.com/video/BV1ty4y1x7xP(适合外语不错的同学课外看,感受国外教学氛围)阿里云 python 工程师学习:https://developer.aliyun.com/graph/python(有在线编程体验)鱼皮公众号【程序员鱼皮】后台回复 Python,也有一套视频课

其他

Web 开发 Python Django 项目实战教程:https://www.bilibili.com/video/BV1pq4y1W7a1Python + 微信小程序实战开发:https://www.bilibili.com/video/BV1Xy4y1s792(挺完整,后台用的 Django 框架)数据结构与算法 Python 数据结构与算法全套 100 节:https://www.bilibili.com/video/BV1uA411N7c5【北京大学】数据结构与算法Python版(完整版):https://www.bilibili.com/video/BV1VC4y1x7uv爬虫 2020 年Python爬虫全套课程(学完可做项目):https://www.bilibili.com/video/BV1Yh411o7SzPython 爬虫编程基础 5 天速成:https://www.bilibili.com/video/BV12E411A7ZQ(很短的爬虫实战入门课)数据分析 自学数据分析课程:https://www.bilibili.com/video/BV1ZM4y1u7uF(很纯粹的数据分析 + 可视化课程,适合办公党快速上手)完整数据分析课程:https://www.bilibili.com/video/BV1vV411p7D6(数据分析 + 机器学习,很全面)Python 数据分析入门视频合集:https://shimowendang.com/docs/36pykCPH6XCjKJcv/read其他 一天搞定人脸识别项目(python+opencv):https://www.bilibili.com/video/BV1Lq4y1Z7dm Python 自动化办公:https://www.bilibili.com/video/BV1uv411W7Fi(主要是处理 Excel)

书籍

⭐《Python编程:从入门到实践》:https://www.code-nav.cn/rd/?rid=cbddf0af6064484f002658102cdbba17《python学习手册》:https://www.code-nav.cn/rd/?rid=79550af260643c8e0ce47ab84633e200《笨办法学python3》:https://www.code-nav.cn/rd/?rid=b00064a760643bb90cbba72836995fd5《Python编程快速上手》(第2版):https://book.douban.com/subject/35387685/《Python Cookbook 中文版》(第3版):https://book.douban.com/subject/26381341/《父与子的编程之旅》:https://www.code-nav.cn/rd/?rid=8937eaa9615519680ed81c0e3165ee65⭐《Python 深度学习》https://www.code-nav.cn/rd/?rid=2d44d6c261624dd31224ed1b5841920c《Python网络爬虫实战》第2版:https://www.code-nav.cn/rd/?rid=b00064a7606440d40cbc2fca19192e4f《Python数据科学手册》:https://book.douban.com/subject/27667378/《利用Python进行数据分析》:https://book.douban.com/subject/25779298/《轻量级Django》:https://www.code-nav.cn/rd/?rid=28ee4e3e60641fd60d91fd2441418491⭐ 编程导航 - 超多 Python 书籍直接免费下载 :https://www.code-nav.cn/topic/Python(选择书籍标签)Python Guide(英文):https://docs.python-guide.org/

文档

⭐ Python 入门教程(菜鸟教程):https://www.runoob.com/python3/python3-tutorial.html(可以在线写代码练习)Python 入门教程(W3Cschool):https://www.w3cschool.cn/python3/(支持手机阅读)Python 中文学习大本营:http://www.pythondoc.com/(一系列文档教程的集合)Python 100 天:https://github.com/jackfrued/Python-100-Days廖雪峰 Python 入门教程:https://www.liaoxuefeng.com/wiki/1016959663602400莫烦 Python 教程:https://mofanpy.com/(包括基础、数据处理、机器学习等,部分内容有视频)Django 官方教程:https://docs.djangoproject.com/zh-hans/3.2/intro/tutorial01/Manim 动画引擎教程:https://docs.manim.org.cn/shaders/A Byte of Python:https://python.swaroopch.com/(Python 英文入门教程)⭐ 谷歌 Python 代码规范:https://google.github.io/styleguide/pyguide.html

实战

⭐ 蓝桥云课 Python 实战合集:https://www.lanqiao.cn/courses/?fee=free&tag=Python腾讯云在线 Python 实验:https://cloud.tencent.com/developer/labs/gallery?tagId=23阿里云 Python 入门实验:https://developer.aliyun.com/adc/scenario/e04fe73ad95d4782aef7aecca206196e华为云沙箱实验室:https://lab.huaweicloud.com/testList.htmlPython123:https://python123.io/index(在线编程,部分课收费)CheckiO 游戏学 Python:https://py.checkio.org/通过测试交互式学 Python(英文):https://github.com/gregmalcolm/python_koans交互式 Python 挑战(英文):https://github.com/donnemartin/interactive-coding-challenges通过项目学 Python(英文):https://github.com/practical-tutorials/project-based-learning#python通过示例交互式学 Python(英文):https://github.com/jerry-git/learn-python3

代码

数据结构和算法 Python 实现:https://github.com/keon/algorithms《剑指 Offer》算法面试题 Python 实现:https://github.com/JushuangQiao/Python-Offer设计模式 Python 实现:http://www.pythontip.com/python-patterns/detail/abstract_factoryPython Machine Learning 代码:https://github.com/rasbt/python-machine-learning-book-3rd-editionPython 小脚本:https://github.com/RealHacker/python-gems

合集

⭐ GitHub Python 专区:https://github.com/topics/python神经网络和深度学习相关框架:https://github.com/ChristosChristofidis/awesome-deep-learning机器学习相关库:https://github.com/josephmisiti/awesome-machine-learning#python开源 Python 应用程序大全:https://github.com/mahmoud/awesome-python-applicationsPython 类库大全:https://github.com/vinta/awesome-pythonPython 类库大全(中文版):https://github.com/jobbole/awesome-python-cnPython 异步大全:https://github.com/timofurrer/awesome-asynciojupyter 相关:https://github.com/markusschanta/awesome-jupyterPython 书单:https://github.com/Junnplus/awesome-python-booksPython 书单(中文版):https://github.com/jobbole/awesome-python-booksstackOverflow Python 专区:https://stackoverflow.com/questions/tagged/python(解决问题必备)⭐ 掘金 Python 专区:https://juejin.cn/tag/Python(看技术文章

社区

⭐ PythonTab:https://www.pythontab.com/(中文 Python 开发者社区)Learnku Python 技术论坛:https://learnku.com/python开源中国:https://www.oschina.net/(综合的开源社区)

工具

⭐ Python 在线编程(菜鸟教程):https://c.runoob.com/compile/6/腾讯云 Python 在线手册:https://cloud.tencent.com/developer/devdocsPython 在线手册汇总:https://docs.pythontab.com/

面试题

⭐ 牛客 Python 专项练习:https://www.Nowcoder.com/intelligentTest牛客 Python 试题:https://www.Nowcoder.com/search?query=python&type=question牛客机器学习面试题:https://www.Nowcoder.com/search?type=question&query=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0牛客机器学习笔试:https://www.Nowcoder.com/search?type=paper&query=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0Python 面试题整理:https://github.com/taizilongxu/interview_python(高星)Python 面试题整理:https://github.com/kenwoodjw/python_interview_question机器学习面试题:https://geektutu.com/post/qa-ml.html

其他

⭐ Python 常见问题:https://docs.python.org/zh-cn/3/faq/general.html(官方提供的 )GitHub Python 趋势:https://github.com/trending/pythonPython 模块推荐:https://pymotw.com/3/Python 练习册:https://github.com/Yixiaohan/show-me-the-code(一些 Python 练习题目)

尾声

以上就是鱼皮熬了几天大夜、结合个人经验、并且参考了大量网上的视频、文章评论总结而成的学习路线,真的是非常不容易,如果大家觉得满意请务必点个 支持下。

我是鱼皮,持续分享编程干货的程序员,欢迎关注,下期再见~

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...