1 Python 学习路线 【转贴】
Python 学习路线
视频地址:
https://www.bilibili.com/video/BV1Xf4y1j7Np
网络上,学习 Python 编程的资料太多了,家家都说自己的最好,这可为难坏了,有选择困难症的小伙伴们了。
如果,你还在纠结,到底选择什么书籍、看什么视频、用什么网站、采用什么学习方法,去学 Python,那本期视频绝对能帮助到你。
这份 Python 学习路线,会帮助大家做个减法,推荐最佳的学习资源、学习方法,每个知识点为什么学,学习的时间安排,都给大家安排的明明白白了。
1 路线特点
1.1 最新、最全的完整学习路线!
1.2 明确目标、学习建议、知识点、优质资源推荐(视频、书籍、文档、项目、工具等)
1.3 最好的投资,就是投资自己
2 前言
Jack 熬了几个大夜,结合个人经历,并参考了大量资料,总结而成的学习路线。
真的不容易,如果大家满意,请务必三连支持一下。
视频地址:
https://www.bilibili.com/video/BV1Xf4y1j7Np
3 阶段1:Python入门
3.1 学习目标
搭建开发环境,快速上手。
30天学会Python基础语法
3.2 前期准备
-
开发环境搭建是第一步,万事开头难,耐心配置好本地开发环境,也方便我们后续的学习,推荐两种配置组合。
- Anaconda+Jupyter:https://mp.weixin.qq.com/s/ghKGVutz9RQ4fMGJDHWtww
- Anaconda+Vscode:https://www.baidu.com/s?wd=vscode%20anaconda
- 说明1:Anaconda管理python包方便,vscode适合喜欢ide风格的小伙伴,调试方便。jupyter适合喜欢轻便的交互式风格的小伙伴。两者都是我常用的搭配。
- 说明2:不推荐pycharm,太大,配置也相对麻烦,再找个激活码,折腾来折腾去的。
-
好记性不如烂笔头,学编程的过程中遇到的问题、学习的知识点、一些感悟总结,都可以记下来。
- 推荐软件 Typora:https://www.typora.io/
- 脑图工具 Xmind:https://www.xmind.cn/
- 推荐使用 Markdown 语法编写:https://www.runoob.com/markdown/md-tutorial.html
-
想学好编程就要勤动手,一定要多写代码,哪怕手打去抄代码也行,要一步一步尝试自己写代码,切记。
-
选视频和资料的小技巧:货比三家,看评论区,找一些经典、不过时的资料。当然,为了省事,可以看我下面的良心推荐。
-
初学编程,一丢丢基础都没有的小伙伴,入门可能需要一个月的过程,不要灰心,循序渐进,不要着急。
3.3 python编程基础(30天)
-
知识点
-
变量和简单数据类型
- 变量
- 数
- 注释
- 字符串str
- 列表list
- 元组tuple
- 集合set
- 字典dict
-
判断与循环
- if/else判断
- for循环
- while循环
-
函数
-
普通函数
- 函数传参
- 作用域
- 闭包
-
匿名函数
-
生成器函数
-
装饰器
-
-
正则表达式
- compile
- match
- search
-
文件I/O
-
文件读取与操作
- open函数
- 指针
- w/r/a/b各种模式的区别
- with上下文语法
-
异常处理
-
数据存储
- pickle模块
- json模块
- ini格式文件处理
- csv格式文件处理
-
-
类
-
面向对象基础知识
- 面向对象的三要素
- 类和实例
- 类变量与实例变量
- 类方法与静态方法
- 访问控制与属性装饰器
- 继承与多态
-
面向对象高级知识
- 属性查看
- 实例化、可视化和hash
- 运算符重载
- 容器化
- 反射
- 上下文管理
- 描述器
-
-
模块化
- 模块导入
- 打包分发
-
-
学习建议
持续学习,坚持住!
别只光顾着看,一定要动手写代码,完成数据或视频的课后题。
动手写代码,是指用键盘多敲代码。
-
资源
-
视频
- 零基础入门学习Python:https://www.bilibili.com/video/BV1xs411Q799
-
书籍
- Python编程,从入门到实践(第2版):https://book.douban.com/subject/35196328/
-
文档
-
4 阶段2:巩固基础
4.1 学习目标
学编程,计算机基础要学好。
数据结构,是程序员的内功,也是面试找工作必过的一关。
通过学习计算机基础,可以帮助我们对编程有个更深刻的认识。
4.2 计算机基础(30天)
-
知识点
-
操作系统
- 进程、线程
- 进程 / 线程间通讯方式
- 进程调度算法
- 进程 / 线程状态
- 死锁
- 内存管理
-
计算机网络
- HTTP / HTTPS 协议
- 网络模型
- UDP / TCP 协议
- 网络安全
- 域名解析
-
-
学习建议
巩固基础,可以看一些计算基础知识,比如操作系统、计算机网络。
内容或许会枯燥一些,但可以结合一些有趣的视频或者图书,比如《计算机科学速成课》,提高自己的兴趣。
这部分知识,不必强学硬记,如果时间不够充裕,每个知识点有个印象就行。
后面实战过程中,遇到了哪些问题,可以回头再看。
-
资源
-
视频
-
书籍
-
操作系统
- 操作系统真相还原
- 深入理解计算机系统
- 现代操作系统
-
计算机网络
- 图解TCP/IP
- 图解HTTP
- 计算机网络-自顶向下方法
-
-
4.3 数据结构与算法(30天)
-
知识点
-
时间 / 空间复杂度分析
-
数据结构
- 数组
- 字符串
- 队列
- 栈
- 链表
- 集合
- 哈希表
- 二叉树
-
算法
- 排序
- 双指针
- 查找
- 分治
- 递归
- 回溯
- 动态规划
- 贪心
- 位运算
- DFS
- BFS
- 图
-
-
学习建议
数据结构与算法,是程序员的内功。
面试找工作必过的一关。边刷题,边学习知识点。
初学者推荐《剑指offer》,题目简单,上手快。
有一定基础建议刷 Leetcode,刷个 200 道,找工作基本没啥问题。
-
资源
-
在线教程
- Leetbook:https://leetcode-cn.com/leetbook/
-
刷题网站
-
刷题笔记(我的珍藏)
-
书籍
- 算法图解(适合入门):https://book.douban.com/subject/26979890/
- 剑指 Offer:https://book.douban.com/subject/27008702/
- 数据结构与算法分析:https://book.douban.com/subject/1139426/
-
视频
-
5 阶段3:开发基础
5.1 学习目标
面向薪资编程,掌握开发过程中需要掌握的小技能~
5.2 Git(3天)
-
知识
- 工作区
- 分支
- 代码提交、推送、拉取、回退、重置
- 分支操作
- 代码合并、解决冲突
- 标签
- cherry-pick
-
学习建议
最常用的就是四个:
git add
git commit -m
git push
git pull -
资源
-
文档
- GitHub 官方文档:https://docs.github.com/cn
- 菜鸟Git教程:https://www.runoob.com/git/git-tutorial.html
- 廖雪峰Git教程:https://www.liaoxuefeng.com/wiki/896043488029600
-
视频
- 5h打通Git全套教程:https://www.bilibili.com/video/BV1vy4y1s7k6
-
游戏
- Learning Git Branching:https://learngitbranching.js.org/?locale=zh_CN
-
5.3 Linux(7天)
-
知识
- Linux 系统安装
- 环境变量
- 文件管理
- 用户管理
- 内存管理
- 磁盘管理
- 进程管理
- 网络管理
- 软件包管理
- 服务管理
- 日志管理
- Linux 内核
- 常用命令
- 常用环境搭建
- Shell 脚本编程
- VIM 的使用
-
学习建议
Linux最常用的一些指令和工具要掌握好。Linux是做程序员之后,经常使用的开发环境。
Linux指令不用死记硬背,经常使用Linux就好了。
最开始不习惯无界面的Linux,可以使用Ubuntu作为过渡。
-
资源
-
视频
- 2021 韩顺平 一周学会Linux:https://www.bilibili.com/video/BV1Sv411r7vd
-
书籍
- 鸟哥的 Linux 私房菜:https://book.douban.com/subject/30359954/
-
文档
-
社区
- Linux 中国:https://linux.cn/
-
工具
- Linux 命令搜索:https://wangchujiang.com/linux-command
- Linux 命令大全手册:https://www.linuxcool.com/
-
5.4 MySQL 数据库(7天)
企业中大部分业务数据都是用关系型数据库存储的,因此数据库是后台开发同学的必备技能,其中 MySQL 数据库是目前的主流,也是面试时的重点。
-
知识
- 基本概念
- MySQL 搭建
- SQL 语句编写
- 约束
- 索引
- 事务
- 设计数据库表
- 性能优化
-
学习建议
数据库sql指令要学习,也是多动手。
记不住一些指令也没关系,现查就行,用多了就好了。
-
资源
-
视频
- 老杜 - mysql入门基础 + 数据库实战:https://www.bilibili.com/video/BV1Vy4y1z7EX(较新、内容相对精炼,有习题)
-
书籍
-
在线练习
- SQL 自学网:http://xuesql.cn/
- SQL 在线运行:https://www.bejson.com/runcode/sql/
-
文档
- SQL 菜鸟教程:https://www.runoob.com/sql/sql-tutorial.html
- MySQL - 菜鸟教程:https://www.runoob.com/mysql/mysql-tutorial.html
-
6 阶段4:兴趣选型
6.1 学习目标
python只是一个编程语言,还需要根据自己喜欢的方向,进一步学习。
选择自己喜欢的方向,深入学习,以兴趣点出发,学起来事半功倍。
这里的内容,不用都掌握,根据自己喜欢的方向,选择即可。
6.2 人工智能(90天)
-
知识
-
机器学习
-
数据预处理
- 数据清洗
- 数据变换
-
特征工程
- 特征选择
- 特征融合
-
算法模型
-
监督学习
-
分类
- K-近邻算法
- 决策树
- 朴素贝叶斯算法
- Logistic 回归
- SVM 支持向量机
- CART 分类树
- Softmax 回归
-
回归
- 线性回归
- 局部加权线性回归
- CART 回归树
-
集成学习
- Bagging
- Boosting
- 随机森林
- AdaBoost
- GBDT
- XGBoost
-
-
无监督学习
-
聚类
- K-means
- 层次聚类
- DBSCAN
-
-
-
模型评估
- 准确率
- 召回率
- P-R 曲线
- ROC
- AUC
- MSE
-
-
深度学习
-
深度学习基础
-
预处理&数据增强
-
图像裁剪
- 中心裁剪
- 随机裁剪
- 随机长宽比裁剪
-
翻转和旋转
- 概率水平翻转
- 概率垂直翻转
- 随机旋转
-
图像变换
- Resize
- 标准化
- 填充
- 灰度化
- 线性变化
- 放射变换
- Tensor
-
-
层次结构
-
输入层
-
卷积层
- 标准卷积
- 空洞卷积
- 分组卷积
- 可变形卷积
- 可分离卷积
-
激励层
- sigmoid
- tanh
- ReLU
- Leaky ReLU
- ELU
- SELU
-
池化层
- 平均池化
- 最大池化
- 随机池化
- 全局平均池化
-
上采样层
- 双线行插值
- 转置卷积(反卷积)
- 反池化
-
全链接层
-
-
损失函数
- zero one loss
- cross entropy loss
- mse loss
- logistic loss
- focal loss
- center loss
- wing loss
- dice loss
- hinge loss
- arcface loss
-
优化算法
- BGD
- SGD
- MBGD
- Momentum
- RMSProp
- AdaGrad
- Adam
-
其他
-
权重 w 初始化
- 零初始化
- 随机初始化
- Xavier 初始化
- He 初始化
- 预训练初始化
-
学习率 alpha 调整
- 指数衰减
- 根号衰减
- 分段离散衰减
- 手动调整衰减
-
-
后处理
- 分类映射
- 检测 NMS
- ··· ···
-
-
深度学习框架
- Caffe
- Tensorflow
- Pytorch
- Paddle
- MXNet
-
-
-
学习建议
先学机器学习,再学深度学习。
人工智能入门有一定的门槛,但并是不什么高大上的技术,有本科的高数基础就能学。
但由于想从这这个方向的人较多,想找到这个方向的相关工作,建议读研,这样才有竞争力。
学习的方法还是多实战,可以参加一些比赛,例如 Kaggle、阿里云天池等。
-
资源
-
视频
- 吴恩达深度学习:https://www.bilibili.com/video/BV1FT4y1E74V
- 吴恩达机器学习:https://www.bilibili.com/video/BV164411b7dx
- MIT 线性代数:https://www.bilibili.com/video/BV1ix411f7Yp
- PyTorch 快速入门教程:https://www.bilibili.com/video/BV1hE411t7RN
- Tensorflow2.0 入门教程:https://www.bilibili.com/video/BV1Zt411T7zE
-
书籍
- 机器学习实战:https://book.douban.com/subject/24703171/
- 机器学习(西瓜书):https://book.douban.com/subject/26708119/
- 深度学习(花书):https://book.douban.com/subject/27087503/
- 机器学习实战(sklearn+tf):https://book.douban.com/subject/35218199/
- 统计学习方法:https://book.douban.com/subject/10590856/
- 线性代数及其应用:https://book.douban.com/subject/1425950/
- 概率论与数理统计:https://book.douban.com/subject/2201479/
-
文档
-
Jack Cui机器学习实战
-
Jack Cui深度学习实战
-
-
竞赛
-
6.3 量化交易(60天)
-
知识
-
策略
- 双均线策略
- 海归策略
- 套利策略
- 多因子选股
- 新闻情绪因子
- 超平滑均线策略
- 配对交易策略
- Alpha对冲策略
-
技术指标
- MACD
- EMA
- BOLL线
-
收益分析
- 收益率
- 最大回撤
- 夏普比率
- Alpha
- Beta
-
-
学习建议
学量化,不要急,数学功底要过硬。
不要盲目实盘,多学多看。
先有逻辑,再coding,靠着自己的逻辑炒股都亏,更别提自己写的代码了。
量化,就是将自己的交易思路,写成代码。
学技术,学思想。
-
资源
-
视频
- Jack Cui入门教程:https://www.bilibili.com/video/BV1Z44y1874X
-
文档
-
书籍
-
6.4 数据分析(60天)
-
知识
-
数据学科
- 数据学科环境安装
- 软件配置和使用
-
数值计算
- 数组创建
- 索引/切片/布尔查询
- 数组运算/变换
- 随机数操作
- 数值模拟项目
-
可视化
-
Matplotlib可视化
- 折线图
- 散点图
- 柱状图
- 直方图
- 箱线图
- 热力图
- 高级绘图
-
seaborn可视化
-
pyechart可视化
-
可视化项目
-
-
数据分析
- numpy
- pandas
- 数据分析流程
- 数据分析报告
-
文本分析
- 中文分词
- 关键词抽取
- 词云
- 中文情感分析
- 语义结构分析
- 文本分析项目
-
-
学习建议
Excel、SQL、Python 数据分析都得掌握。
SQL 看 - 阶段3:开发基础 的资料即可。
-
资源
-
视频
-
书籍
- 利用Python进行数据分析:https://book.douban.com/subject/25779298/
- Python数据分析与挖掘实战:https://book.douban.com/subject/26677686/
-
资料
- 利用Python进行数据分析:https://github.com/BrambleXu/pydata-notebook
- 开源数据可视化分析工具:https://github.com/dataease/dataease
- 可视化工具:https://github.com/pyecharts/pyecharts
-
6.5 网络爬虫(30天)
-
知识
-
爬虫基础
-
数据抓取
- 静态加载(小说下载)
- 动态加载(漫画下载)
- 进阶体验(视频下载)
- API 的使用方法
-
代理 IP
-
数据库
-
-
爬虫进阶
- 模拟登录
- 验证码识别
- 正则表达式
- APP 爬取
-
爬虫高阶
- Scrapy框架
- 分布式爬虫
- 逆向解密
-
-
学习建议
网络爬虫相对简单一些,现在网站都有反爬虫了,不像早些年。
建议挑一些小网站测试,但是一定注意控制好请求量,不要给别人造成压力。
挑一些有趣的例子学,比如爬个妹子图、帅哥图啥的。
-
资源
-
视频
-
书籍
- Python3网络爬虫开发:https://book.douban.com/subject/30175598/
-
资料
-
7 阶段5:求职技巧
7.1 目标
找到一个好工作,多看别人的面经。
7.2 建议
- 找好方向,尽早规划,最好有一年的时间准备
- 多看面经:https://cuijiahua.com/blog/interview/
- 多刷题,可以看 - 阶段2:巩固基础 - 部分的刷题笔记
- 面试做好录音,方便后续总结,回顾和优化
7.3 推荐网站
7.4 Jack 经历
- 个人经历:https://t.1yb.co/CANb
- 我,从高考到程序员的成长之路:https://mp.weixin.qq.com/s/5RAX2qCM2TX-8tyMRpPuQA
评论区