目录

Python 学习路线


Python 学习路线 2022

1 学习路线

学会基础,足够应付工作了。

1.1 基础

  • Python 安装

  • 开发工具

    • PyCharm
    • Sublime
    • VS Code
  • 变量

    • 定义变量
    • 关键字
    • 命名规则
    • 基本数据类型
    • 类型转换
  • 运算符和表达式

  • 流程控制

    • 条件分支
    • 循环
  • 基本数据结构

    • 字符串
    • 列表
    • 元组
    • 集合
    • 字典
  • 函数

    • 定义
    • 参数传递
    • 作用域
    • lambda 表达式
    • 常用内置函数
  • ⭐ 面向对象编程

    • 类和对象

    • 三大特性

      • 封装

        • self

        • 属性

        • 方法

          • 类方法
          • 实例方法
          • 静态方法
        • 访问控制

      • 继承

        • 单继承
        • 多继承
      • 多态

        • 方法重写
    • 运算符重载

    • 装饰器

    • 反射

  • 模块

    • 导入模块

    • 常用模块

      • 文件处理
      • 日期时间
    • 导入包
    • 生成包
  • 异常处理

    • 捕获异常
    • try … else … finally 结构
    • 自定义异常
  • 文件操作

    • 文件开闭
    • 文件读写

1.2 进阶

  • 函数进阶

    • 闭包
    • 匿名函数
    • 生成器函数
    • 装饰器
    • 高阶函数
  • 正则表达式

  • 数据库编程

    • 数据库基础

    • SQL 编写

    • 查询

      • 聚合
      • 分组
      • 关联
      • 排序
    • 事务

    • 数据库设计

    • 数据库调优

  • 并发编程

    • 同步和异步
    • 阻塞和非阻塞
    • 多线程
    • 多进程
    • 协程
    • 并发类库
  • 网络编程

    • 网络基础(七层模型、IP)
    • 网络协议(TCP、UDP、HTTP、HTTPS、FTP、DNS)
    • WebSocket

1.3 web 开发

  • Django 框架

    • 安装与 Demo

    • MVT 分层

    • 模型

      • 数据库基础

      • ORM

        • 单表查询
        • 多表查询
        • 聚合查询
    • 视图

    • 模板

      • 模板语法
      • 静态资源
    • 路由

    • Django Admin 管理工具

    • 测试

    • 会话

    • 鉴权

    • 文件上传

    • 中间件

    • 高级特性

      • 分页

      • 缓存

        • 本地缓存
        • Redis 分布式缓存
      • 序列化

      • 信号

      • celery 任务调度

    • Restful API 开发

      • 概念
      • 数据序列化
      • Django Rest Framework
    • 部署

    • 项目实战

  • 前端基础

    • HTML
    • CSS
    • JavaScript
  • Flask 框架

1.4 爬虫

  • 概念

  • 合法性

  • 数据抓取

    • 常用网络协议(http / https)概念

    • 请求

      • 请求头
      • 请求参数
      • 请求类型
    • 响应

      • 响应头
      • 响应参数
    • requests 模块

    • urllib 模块

    • 模拟登陆

    • 静态 / 动态网站抓取

    • 无头浏览器

      • selenium
      • puppeteer
  • 数据解析

    • 常用标签
    • BeautifulSoup
    • 正则表达式
    • xpath
  • 数据导出

    • 文件

      • Excel
      • CSV
    • 数据库

      • MongoDB
      • MySQL
    • 中间件

      • Redis
  • Scrapy 框架

    • 核心概念

      • 命令行工具
      • Spiders
      • Selectors
      • Items
      • Item Loaders
      • 管道
      • Scrapy Shell
      • Link Extractors
    • 调度器

    • 分布式爬虫

    • 部署

  • 并发异步爬虫

    • aioHttp
    • asyncio
  • 高级

    • IP 代理
    • 验证码识别
    • APP 抓取
    • 增量式爬虫
  • 项目实战

  • 反爬虫

    • 请求头限制
    • 验证码
    • 黑白名单
    • 封禁 IP
    • 数据加密
    • 数据混淆
    • 行为分析

1.5 自动化运维

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

1.6 数据分析(数据科学)

  • 环境搭建

    • Anaconda
    • Conda
    • Miniconda
    • Jupyter Notebook
  • 常用数据结构

  • 常用类库

    • Numpy

      • 数组
      • 索引
      • 切片
      • 多维数组
      • 函数
    • Pandas

      • Series
      • DataFrame
      • 索引
      • 对齐
      • 函数
      • 统计
  • 数据处理

    • 数据清洗
    • 层次化索引
    • 数据连接
    • 数据合并
    • 分组聚合
    • 轴向旋转
  • 数据可视化

    • matplotlib
    • seaborn
    • pyechart

1.7 算法(人工智能)

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

  • 数学基础

    • 高等数学
    • 线性代数
    • 概率论
    • 统计分析
  • 机器学习

    • 特征工程

    • 模型

      • 模型分类
      • 模型评估
      • 模型训练
      • 模型调优
    • 常用算法

      • 监督与无监督学习

      • 回归(有监督)

        • 线性回归
        • 决策树
        • 集成算法
      • 分类(有监督)

        • 逻辑回归
        • 决策树
        • 支持向量机
        • 集成算法
        • 贝叶斯算法
      • 聚类(无监督)

        • k-means
        • dbscan
      • 降维

        • 主成分分析
        • 线性判别分析
      • 进阶

        • GBDT 提升算法
        • lightgbm
        • EM 算法
        • 隐马尔科夫模型
    • 多因子模型

    • 常用库

      • Scikit-learn
    • 量化交易策略

  • 深度学习

    • 数据预处理

    • 算法

      • 神经网络
      • 卷积神经网络
      • 递归神经网络
      • 对抗生成网络
      • 序列网络模型
    • 常用算法

    • 框架和平台

      • Tenserflow2
      • Pytorch
      • Keras
      • Caffe
  • 自然语言处理

  • 图像处理

  • 计算机视觉

2 常用类库

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

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

2.1 通用

  • 日期处理

    • 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:密码学工具包

2.2 网络请求 & 解析

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

2.3 文件处理

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

2.4 界面开发

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

2.5 测试

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

2.6 Web 开发

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

2.7 运维

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

2.8 图像处理 & 计算机视觉

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

2.9 数据分析 & 数据科学

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

2.10 人工智能

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

2.11 自然语言处理

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

3 岗位

3.1 腾讯校招 Python 相关岗位:https://join.qq.com/post.html?keyword=python

3.2 岗位薪资查询:OfferShow 小程序

3.3 运维工程师

3.4 Web 开发工程师(后端、全栈为主)

3.5 测试工程师

3.6 数据分析师

3.7 产品经理

3.8 算法工程师

  • 机器学习
  • 计算机视觉
  • NLP
  • 多媒体处理

3.9 大数据工程师

  • 大数据开发
  • 数据挖掘

3.10 网络爬虫工程师

3.11 技术研究员

4 资源

4.1 视频

  • 零基础

    • ⭐ 千锋教育 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/BV1pq4y1W7a1
      • Python + 微信小程序实战开发: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/BV1Yh411o7Sz
      • Python 爬虫编程基础 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)

4.2 书籍

  • ⭐《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/

4.3 文档

  • ⭐ 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

4.4 实战

  • ⭐ 蓝桥云课 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.html
  • Python123: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

4.5 代码

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

4.6 合集

  • ⭐ 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-applications
  • Python 类库大全:https://github.com/vinta/awesome-python
  • Python 类库大全(中文版):https://github.com/jobbole/awesome-python-cn
  • Python 异步大全:https://github.com/timofurrer/awesome-asyncio
  • jupyter 相关:https://github.com/markusschanta/awesome-jupyter
  • Python 书单:https://github.com/Junnplus/awesome-python-books
  • Python 书单(中文版):https://github.com/jobbole/awesome-python-books
  • StackOverflow Python 专区:https://stackoverflow.com/questions/tagged/python(解决问题必备)
  • ⭐ 掘金 Python 专区:https://juejin.cn/tag/Python(看技术文章)

4.7 社区

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

4.8 工具

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

4.9 面试题

  • ⭐ 牛客 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%A0
  • Python 面试题整理:https://github.com/taizilongxu/interview_python(高星)
  • Python 面试题整理:https://github.com/kenwoodjw/python_interview_question
  • 机器学习面试题:https://geektutu.com/post/qa-ml.html

4.10 其他

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