天天看点

python学习路线图(初级阶段,中级阶段,高级阶段)python学习路线图

python学习路线图

1 预备知识

1.1 python简介

1.2 程序设计思想

1.3 安装python

1.3.1 windows安装python

1.3.2 Linux安装python

1.3.3 MacOs安装python

1.4 运行方式

1.4.1 以交互方式运行

1.4.2 以脚本方式运行

1.5 常用开发工具

1.6 编码规范

1.7 模块管理

1.7.1 pip

2 基础语法

2.1 缩进规则

2.1.1 建议使用四个空格

2.2 基础知识

2.2.1 注释

2.2.2 变量

2.2.3 语句

2.2.4 标识符

2.2.5 命名规则

2.2.6 运算与表达式

2.2.7 代码风格

2.3 函数

2.3.1 函数定义def

2.3.2 参数var

2.3.3 返回值return

2.3.4 参数传递

2.3.5 函数调用

2.3.6 函数递归

2.3.7 函数编写风格

2.4 类

2.4.1 类定义class

2.4.2 作用域和命名空间

2.4.3 对象

2.4.4 实例

2.4.5 属性和方法

2.4.6 类编码风格

2.5 顺序语句结构

2.6 分支语句结构

2.6.1 if

2.6.2 elif

2.6.3 else

2.6.4 条件判断

2.7 循环语句结构

2.7.1 for

2.7.2 while

2.7.3 break

2.7.4 continue

2.7.5 循环判断

2.8 数据类型

2.8.1 整型

2.8.2 浮点型

2.8.3 布尔型

2.8.4 字符串

2.9 内置类

2.9.1 列表list

2.9.2 字典dict

2.9.3 元组tuple

2.9.4 集合set

2.9.5 整型int

2.9.6 字符串str

2.10 常用内置函数

2.10.1 help

2.10.2 input

2.10.3 print

2.10.4 range

2.10.5 format

2.10.6 len

2.10.7 sorted

2.10.8 open

2.10.9 dir

2.10.10 enumerate/zip

2.10.11 type/isinstance

2.10.12 min/max/sum

2.10.13 abs/round/pow/divmod

3 进阶语法

3.1 列表推导式

3.2 三元表达式

3.3 断言

3.4 with-as

3.5 异常捕获处理

3.5.1 try-catch-finally

3.5.2 异常捕获

3.6 字符串方法

3.6.1 find

3.6.2 index

3.6.3 join

3.6.4 lower

3.6.5 replace

3.6.6 split

3.6.7 strip

3.6.8 translate

3.6.9 upper

3.7 lambda函数

3.8 迭代器

3.9 生成器

3.10 装饰器

3.11 闭包

3.12 文件

3.12.1 打开文件

3.12.2 文件基本方法

3.12.3 文件内容迭代

3.13 常用标准库

3.13.1 datetime

3.13.2 json

3.13.3 math

3.13.4 os

3.13.5 random

3.13.6 re

3.13.7 sys

3.13.8 time

3.13.9 urllib

3.14 字符编码与解码

3.14.1 理解内码和字节码的概念

4 面向对象编程

4.1 类和对象的概念

4.2 类成员

4.3 静态变量和实例变量

4.4 面向对象三要素

4.4.1 封装

4.4.2 继承

4.4.3 多态

4.5 创建类

4.5.1 实例化

4.5.2 抽象类

4.5.3 单实例模式

5 基本技能

5.1 时间日期处理

5.1.1 time

5.1.2 datetime

5.2 数据文件读写

5.2.1 excel/csv/hdf/netCDF

5.3 数据库操作

5.3.1 数据库概述

5.3.2 数据库安装配置

5.3.3 SQL语句

5.3.4 SQLite

5.3.5 MySQL

5.3.6 MongoDB

5.4 操作系统和环境

5.4.1 os/sys

5.5 线程、进程和协程

5.5.1 基础概念

5.5.2 加锁和解锁

5.5.3 threading

5.5.4 multiprocessing

5.5.5 queue

5.5.6 gevent

5.5 源码打包

5.5.1 pyinstaller

5.6 网络编程

5.6.1 socket

5.7 发送邮件

5.7.1 smtplib

6 Web应用开发

6.1 web开发基础知识

6.1.1 HTML/HTML5/CSS

6.1.2 前端、数据库和后台

6.1.3 MVC架构

6.1.4 REST和Ajax

6.2 Django

6.2.1 Django简介

6.2.2 Django安装配置

6.2.3 DTL(Django Template Language)

6.2.4 Django路由定义

6.2.5 Django请求数据解析

6.2.6 Django数据库操作

6.2.7 Django提交表单

6.2.8 Django Rest Framework

6.2.9 部署、日志和安全

6.2.10 Django 开发案例

6.3 Tornado

6.3.1 Tornado简介

6.3.2 Tornado安装配置

6.3.3 Tornado提交表单

6.3.4 Tornado模板

6.3.5 Tornado数据库操作

6.3.6 Tornado异步web操作

6.3.7 外部服务认证(auth)

6.3.8 部署、日志和安全

6.3.9 Tornado开发案例

6.4 Flask

6.4.1 Flask简介

6.4.2 Flask安装配置

6.4.3 Flask实现HTTP请求与响应

6.4.4 Flask cookie与session

6.4.5 Flask模板

6.4.6 Flask提交表单

6.4.7 Flask数据库操作

6.4.8 Bootstrap-Flask

6.4.9 Flask开发REST Web服务

6.4.10 部署、日志与安全

6.4.11 Flask开发案例

6.5 网站可视化

6.5.1 ECharts

6.6 网站高并发处理

7 桌面应用开发

7.1 Tkinter

7.1.1 Tkinter简介

7.1.2 安装配置

7.1.3 Thinter模块

7.1.4 Thinter控件

7.1.5 标准属性

7.1.6 几何管理

7.2 PyQT

7.2.1 PyQT简介

7.2.2 安装配置

7.2.3 PyQT模块

7.2.4 PyQT布局管理

7.2.5 PyQT菜单和工具栏

7.2.6 事件和信号

7.2.7 PyQT对话框

7.2.8 PyQT控件

7.2.9 PyQT拖拽与绘图

7.3 WxPython

7.3.1 WxPython简介

7.3.2 安装配置

7.3.3 WxPython常用类

7.3.4 WxPython布局管理

7.3.5 WxPython事件处理

7.3.6 WxPython对话框

7.3.7 WxPython组件

7.3.8 WxPython拖拽处理

7.3.9 WxPython绘图API

8 网络爬虫

8.1 基础概念

8.1.1 什么是网络爬虫

8.1.2 HTML与DOM树分析

8.1.3 常用网络爬虫工具

8.1.4 相关法律及注意事项

8.2 urllib

8.2.1 正则表达式

8.2.2 RE(regular Expression)

8.2.3 基础语法

8.2.4 标签匹配常用规则

8.2.5 标签匹配常用规则

8.3 BeautifulSoup

8.3.1 BeautifulSoup简介

8.3.2 安装配置

8.3.3 BeautifulSoup对象

8.3.4 元素定位

8.3.5 文档树遍历与搜索

8.4 lxml

8.4.1 安装配置

8.4.2 lxml.etree

8.4.3 XPath选择器

8.4.4 find/findall

8.4.5 CSS选择器

8.4.6 解析HTML

8.5 requests

8.5.1 安装配置

8.5.2 发送请求与HTTP请求类型

8.5.3 传递URL参数

8.5.4 响应内容

8.5.5 定制请求头

8.5.6 响应状态码

8.5.7 Cookie

8.5.8 POST请求

8.5.9 身份认证

8.6 Selenium

8.6.1 Selenium简介

8.6.2 安装配置

8.6.3 单元素定位(find_element_id/name/xpath)

8.6.4 多元素定位(find_elements_id/name/xpath)

8.6.5 常用方法和属性

8.6.6 键盘和鼠标操作

8.6.7 WedDriver API

8.6.8 表单交互

8.7 Scrapy

8.7.1 Scrapy简介

8.7.2 安装配置

8.7.3 Scrapy框架组成

8.7.4 Item Pipeline

8.7.5 Downloader

8.7.6 Spiders

8.7.7 Scheduler

8.8 数据存储

8.8.1 文件存储

8.8.2 数据库存储

8.9 渲染动态网页

8.9.1 WebKit/Selenium/headless/PhantomJS

8.10 表单交互处理

8.11 超时异常处理

8.11.1 timeout

8.12 验证码处理

8.12.1 自动输入/OCR字符识别

8.13 高并发处理

8.13.1 多线程爬虫

9 自然语言处理

9.1 自然语言处理概述

9.1.1 自然语言处理的基本概念

9.1.2 自然语言处理面临的困难

9.1.3 自然语言处理的研究现状

9.2 预备知识

9.2.1 概率论基础知识

9.2.2 最大似然估计

9.2.3 隐马尔可夫模型

9.2.4 贝叶斯网络

9.2.5 条件概率分布

9.2.6 信息论基础知识

9.2.7 熵

9.2.8 困惑度

9.2.9 互信息

9.2.10 神经网络基础知识

9.2.11 CRF

9.2.12 BiLSTM+Attention

9.2.13 迁移学习

9.2.14 常用语料库和知识库

9.3 jieba

9.3.1 jieba概述

9.3.2 jieba分词

9.3.3 jieba添加自定义词典

9.3.4 jieba词性标注

9.3.5 jieba关键词抽取

9.4 nltk

9.4.1 nltk概述

9.4.2 nltk字符串处理

9.4.3 nltk词性标注

9.4.4 nltk词干提取

9.4.5 nltk命名实体识别

9.4.6 nltk分块处理

9.4.7 nltk文本分类

9.4.8 nltk情感分析

9.5 Genism

9.5.1 TF-IDF

9.5.2 similarities

9.5.3 LSA

9.5.4 LDA

9.5.5 Word2vec

9.6 词法分析

9.6.1 分词(英文分词/中文分词)

9.6.2 词干提取

9.6.3 词性还原

9.6.4 词性标注

9.6.5 命名实体识别

9.7 句法分析

9.7.1 短语结构分析

9.7.2 依存句法分析

9.8 语义分析

9.8.1 指代消解

9.8.2 语义角色标注

9.8.3 语义关系抽取

9.8.4 语义依存分析

9.8.5 抽象语义表示

9.9 词嵌入

9.9.1 Word2Vec

9.9.2 GloVe

9.9.3 fastText

9.9.4 ELMo

9.9.5 BERT

9.9.6 XLNet

9.10 文本挖掘

9.10.1 文本相似度计算

9.10.2 文本聚类

9.10.3 文本分类

9.10.4 文本摘要

9.11 情感分析

9.11.1 基于情感词典的情感分析

9.11.2 基于深度学习的情感分析

9.12 主题模型

9.12.1 LSA

9.12.2 LDA

9.13 机器翻译

9.13.1 IBM统计翻译模型

9.13.2 短语抽取

9.13.3 语言模型

9.13.4 GNMT

9.13.5 Seq2Seq

9.13.6 Transformer

9.14 语言模型

9.14.1 n-gram

9.14.2 Pitman-Yor过程模型

9.14.3 AWD-LSTM

9.14.4 Transformer-XL

9.14.5 Gated CNN

9.15 智能问答

9.15.1 基于知识的问答

9.15.2 基于检索的问答

9.15.3 阅读理解

9.15.4 完型填空

9.16 智能对话

9.16.1 对话行为分类

9.16.2 对话状态跟踪

9.16.3 检索式聊天机器人

9.16.4 生成式聊天机器人

9.16.5 意图识别

9.16.6 槽填充Slot Filling

9.17 语音识别

9.17.1 傅里叶变换

9.17.2 声学模型

9.17.3 隐马尔可夫模型

9.17.4 CNN

9.17.5 LSTM-HMM

9.17.6 神经网络语言模型

9.17.7 MFCC

9.18 知识图谱

9.18.1 知识图谱构建

9.18.2 知识计算

9.18.3 知识存储

9.18.4 知识服务与应用

10 计算机视觉

10.1 数字图像处理基础

10.1.1 数字图像处理

10.1.2 图像三要素

10.1.3 像素及图像类型

10.1.4 图像信号数字转换

10.2 OpenCV基础

10.2.1 安装配置

10.2.2 OpenCV基础语法

10.2.3 几何图形绘制

10.3 图像处理入门

10.3.1 读取显示图像

10.3.2 读取修改像素

10.3.3 创建复制保存图像

10.3.4 获取图像属性及通道

10.4 图像算数与逻辑运算

10.4.1 图像加法运算

10.4.2 图像减法运算

10.4.3 图像与运算

10.4.4 图像或运算

10.4.5 图像异或运算

10.4.6 图像非运算

10.5 图像几何变换

10.5.1 平移变换

10.5.2 缩放变换

10.5.3 旋转变换

10.5.4 镜像变换

10.5.5 仿射变换

10.5.6 透视变换

10.6 图像量化与采样

10.6.1 图像量化处理

10.6.2 图像采样处理

10.6.3 图像金字塔

10.6.4 局部马赛克处理

10.7 直方图统计

10.7.1 直方图概述

10.7.2 直方图绘制

10.7.3 掩膜直方图

10.7.4 H-S直方图

10.7.5 直方图对比

10.8 图像增强

10.8.1 图像增强

10.8.2 直方图均衡化

10.8.3 局部直方图均衡比

10.8.4 自动色彩均衡化

10.8.5 图像去雾

10.9 图像平滑

10.9.1 图像平滑概述

10.9.2 均值滤波

10.9.3 方框滤波

10.9.4 高斯滤波

10.9.5 中值滤波

10.9.6 双边滤波

10.10 图像锐化及边缘监测

10.10.1 一阶微分算法、二阶微分算子

10.10.2 Roberts算子

10.10.3 Prewitt算子

10.10.4 Sobel算子

10.10.5 Laplacian算子

10.10.6 Scharr算子

10.10.7 Canny算子

10.10.8 LOG算子

10.11 图像形态学处理

10.11.1 图像腐蚀

10.11.2 图像膨胀

10.11.3 图像开运算

10.11.4 图像闭运算

10.11.5 图像梯度运算

10.11.6 图像顶帽运算

10.11.7 图像底帽运算

10.12 图像分割

10.12.1 基于阈值的图像分割

10.12.2 基于边缘检测的图像分割

10.12.3 基于纹理背景的图像分割

10.12.4 基于K-Means聚类的区域分割

10.12.5 基于均值漂移算法的图像分割

10.12.6 基于分水岭算法的图像分割

10.12.7 图像漫水填充分割

10.12.8 文字区域分割及定位

10.13 傅里叶变换

10.13.1 傅里叶变换

10.13.2 傅里叶逆变换

10.13.3 高通滤波器

10.13.4 低通滤波器

10.14 霍夫变换

10.14.1 霍夫变换

10.14.2 霍夫线变换

10.14.3 霍夫圆变换

10.15 图像特效处理

10.15.1 图像毛玻璃特效

10.15.2 图像浮雕特效

10.15.3 图像素描特效

10.15.4 图像怀旧特效

10.15.5 图像流年特效

10.15.6 图像滤镜特效

10.15.7 图像水波特效

10.15.8 图像卡通特效

10.16 图像分类

10.16.1 图像分类概述

10.16.2 基于机器学习的图像分类

10.16.3 基于深度学习的图像分类

10.16.4 LeNet

10.16.5 VGG

10.16.6 AlexNet

10.16.7 ResNet

10.17 人脸识别

10.18 目标检测

10.18.1 目标检测概述

10.18.2 RCNN

10.18.3 Fast-RCNN

10.18.4 SPPNet

10.18.5 Mask-RCNN

10.18.6 SSD

10.18.7 YOLO系列算法

11 科学计算基础软件包 NumPy

11.1 Numpy概述

11.1.1 NumPy的前世今生

11.1.2 NumPy数组 vsPython列表

11.1.3 NumPy数组类型和属性

11.1.4 维、轴、秩

11.1.5 广播和矢量化

11.2 安装配置

11.3 创建数组

11.4 操作数组

11.4.1 索引

11.4.2 切片

11.4.3 改变数组结构

11.4.4 合并和拆分

11.4.5 复制

11.4.6 排序

11.4.7 查找

11.4.8 筛选

11.4.9 数组I/O

11.5 常用函数

11.5.1 np.nan 和np.inf

11.5.2 函数命名空间

11.5.3 数学函数

11.5.4 统计函数

11.5.5 插值函数

11.5.6 多项式拟合函数

11.5.7 自定义广播函数

11.6 掩码数组

11.6.1 创建掩码数组

11.6.2 访问掩码数组

11.7 矩阵对象

11.7.1 创建矩阵

11.7.2 矩阵特有属性

11.7.3 矩阵乘法

11.8 随机抽样子模块

11.8.1 随机数

11.8.2 随机抽样

11.8.3 正态分布

11.8.4 伪随机数的深度思考

12 结构化数据分析工具Pandas

12.1 Pandas概览

12.1.1 Pandas的特点

12.1.2 安装和使用

12.2 数据结构

12.2.1 索引数组Index

12.2.2 带标签的一堆同构数组Series

12.2.3 带标签的二维异构表格DataFrame

12.3 基本操作

12.3.1 数据概览

12.3.2 数据选择

12.3.3 改变数据结构

12.3.4 改变数据类型

12.3.5 广播和矢量化运算

12.3.6 行列级广播函数

12.4 高级应用

12.4.1 分组

12.4.2 聚合

12.4.3 层次化索引

12.4.4 表级广播函数

12.4.5 日期时间索引对象

12.4.6 透视表

12.4.7 数据可视化

12.4.8 数据I/O

13 绘图库Matplotlib

13.1 安装配置

13.2 Matplotlib快速入门

13.2.1 画布

13.2.2 子图和子图布局

13.2.3 坐标轴与刻度的名称

13.2.4 图例和文本标注

13.2.5 显示和保存

13.3 图形绘制

13.3.1 曲线图

13.3.2 散点图

13.3.3 直方图

13.3.4 饼图

13.3.5 箱线图

13.3.6 绘制图像

13.3.7 极坐标绘图

13.4 风格和样式

13.4.1 画布设置

13.4.2 子图布局

13.4.3 颜色

13.4.4 线条和点的样式

13.4.5 坐标轴

13.4.6 刻度

13.4.7 文本

13.4.8 图例

13.4.9 网格设置

13.5 Matplotlib扩展

13.5.1 使用BaseMap绘制地图

13.5.2 3D绘图工具包

14 机器学习工具包Scikit-learn

14.1 Scikit-learn概览

14.2 安装配置

14.3 数据集

14.3.1 Scikit-learn自带的数据集

14.3.2 样本生成器

14.3.3 加载其他数据集

14.4 数据预处理Preprocessing

14.4.1 标准化

14.4.2 归一化

14.4.3 正则化

14.4.4 离散化

14.4.5 特征编码

14.4.6 缺失值补全

14.5 分类Classification

14.5.1 K-近邻分类

14.5.2 贝叶斯分类

14.5.3 决策树分类

14.5.4 支持向量机分类

14.5.5 随机森林分类

14.5.6 集成学习Bagging/Boosting

14.5.7 神经网络模型

14.6 回归Regression

14.6.1 线性回归

14.6.2 Lasso回归

14.6.3 支持向量机回归

14.6.4 K-近邻回归

14.6.5 决策树回归

14.6.6 随机森林回归

16.6.7 逻辑回归

14.7 聚类Clustering

14.7.1 K-Means聚类

14.7.1 均值漂移聚类

14.7.2 基于密度的空间聚类

14.7.3 谱聚类

14.7.4 层次聚类

14.8 成分分解与降维

14.8.1 主成分分析

14.8.2 因子分析

14.8.3 截断奇异值分解

14.8.4 独立成分分析ICA

14.9 模型评估与参数调优

14.9.1 估计器得分

14.9.2 交叉验证

14.9.3 评价指标

14.9.4 参数调优

14.9.5 模型持久化

15 深度学习

15.1 神经网络基础知识

15.1.1 人工智能发展历史

15.1.2 神经元

15.1.3 BP神经网络

15.1.4 梯度下降

15.1.5 激励函数

15.1.6 过拟合、欠拟合

15.1.7 优化器Optimizer

15.1.8 常用开发工具

15.2 环境配置

15.2.1 Windows搭建深度学习环境

15.2.2 Linux搭建深度学习环境

15.2.3 MacOS搭建深度学习环境

15.2.4 CPU/GPU环境搭建

15.3 Theano

15.3.1 Thearo基础知识

15.3.2 定义Layer

15.3.3 CNN

15.3.4 RNN(GRU/LSTM)

15.3.5 Autoencoder

15.3.6 神经网络参数保存

15.3.7 神经网络性能评价

15.4 TensorFlow

15.4.1 TensorFlow基础知识

15.4.2 Tensor

15.4.3 Session

15.4.4 Variable

15.4.5 Placeholder

15.4.6 Dropout

15.4.7 Tensorboard

15.4.8 CNN

15.4.9 RNN(GRU/LSTM)

15.4.10 Autoencoder

15.4.11 GNN

15.4.12 神经网络参数保存

15.4.13 神经网路性能评价

15.5 Keras

15.5.1 Keras基础语法

15.5.2 兼容Backend

15.5.3 函数模型和序列模型

15.5.4 定义Layer

15.5.5 CNN

15.5.6 RNN(GRU/LSTM)

15.5.7 Autoencoder

15.5.8 GNN

15.5.9 迁移学习

15.5.10 BiLSTM-Attention

15.5.11 生成对抗网络GAN

15.5.12 神经网络参数保存

15.5.13 神经网络性能评价

15.6 PyTorch

15.6.1 PyTorch基础知识

15.6.2 Tensor

15.6.3 Variable

15.6.4 定义Layer

15.6.5 可视化

15.6.6 CNN(TextCNN)

15.6.7 RNN(GRU/LSTM)

15.6.8 Auroencoder

15.6.9 GNN/GCN

15.6.10 迁移学习

15.6.11 生成对抗网络GAN

15.6.12 神经网络参数保存

15.6.13 神经网络性能评价

15.7 强化学习

15.7.1 强化学习概念

15.7.2 Q-Learning

15.7.3 Sarsa

15.7.4 DQN(Deep Q Network)

15.7.5 Policy Gradients

15.7.6 Actor Critic

####