Python400 集 视频教程
高淇老师 带你零基础手写神经网络
本套 Python 课程 400 集,从零基础开始,全面讲解 Python 基础,直达可以手写神经
网络的境界。
我们创造性的增加了:手写数据结构和算法、手写神经网络项目。让零基础学员在学习
Python 时就开始接触高深的底层知识、神经网络底层实现的知识。
内容共分 26 章,讲解了 Python 基础的方方面面,可以作为 Python 学习者的“宝典”。
同时,穿插了 3 个大型实战项目:
- 坦克大战游戏。
采用游戏开发的方式,寓教于乐,快乐中掌握 Python 基础。
- 手写算法和数据结构。
算法和数据结构是很多大公司面试的不二选择,我们这里讲解内容的同时,手把手
带你实现一个个底层算法,将内功练扎实。
- 手写神经网络。
Python 是人工智能的第一语言。我们创造性的在基础课程中就加入了如何编写一
个自己的神经网络,为踏入神经网络的大门打下“坚实基础”。
本套视频一共 400 集,本套视频共分 3 季:
第一季 【基础篇】Python 基础 (115 集)
第二季 【提高篇】Python 深入和扩展(100 集)
第三季 【扩展篇】网络编程、多线程、扩展库(85 集)
第四季 【高手篇】算法、Python 源码、函数式编程、手工实现神经网络(100 集)
第一章 Python 入门
-
Python 介绍_特性_版本问题_应用范围
-
Python 下载_安装_配置_第一行 Python 程序
-
开发环境介绍_交互模式的使用_IDLE 介绍和使用
-
IDLE 开发环境的使用_建立 Python 源文件
-
Python 程序格式_缩进_行注释_段注释
-
简单错误如何处理_守破离学习法_程序员修炼手册
-
海龟绘图_坐标系问题_画笔各种方法
-
海龟绘图_画出奥运五环图
第二章 编程基本概念
-
程序的构成
-
对象的基本组成和内存示意图
-
引用的本质_栈内存和堆内存_内存示意图
-
标识符_帮助系统的简单使用_命名规则
-
变量的声明_初始化_删除变量_垃圾回收机制
-
链式赋值_系列解包赋值_常量
-
内置数据类型_基本算术运算符
-
整数_不同进制_其他类型转换成整数
-
浮点数_自动转换_强制转换_增强赋值运算符
-
时间表示_unix 时间点_毫秒和微秒_time 模块
-
多点坐标_绘出折线图_计算两点距离
-
布尔值_比较运算符_逻辑运算符_短路问题
-
同一运算符_整数缓存问题
-
字符串_unicode 字符集_三种创建字符串方式_len()
-
字符串_转义字符_字符串拼接_字符串复制_input()获得键盘输入
-
字符串_str()_使用[]提取字符_replace()替换生成新字符串_内存分析
-
字符串_切片 slice 操作_逆序
-
字符串_split()分割_join()合并_join()效率测试
-
字符串_驻留机制_内存分析_字符串同一判断_值相等判断
-
字符串_常用查找方法_去除首位信息_大小写转换_排版
-
字符串_format 格式化_数字格式化操作
-
可变字符串_io.StringIO
-
运算符总结_位操作符_优先级问题
第三章 序列
-
列表_特点_内存分析
-
创建列表的 4 种方式_推导式创建列表
-
列表_元素的 5 种添加方式_效率问题
-
列表_元素删除的三种方式_删除本质是数组元素拷贝
-
列表_元素的访问_元素出现次数统计_成员资格判断
-
列表_切片 slice 操作
-
列表_排序_revered 逆序_max_min_sum
-
列表_二维列表_表格数据的存储和读取
-
元组_特点_创建的两种方式_tuple()要点
-
元组_元素访问_计数方法_切片操作_成员资格判断_zip()
-
元组_生成器推导式创建元组_总结
-
字典_特点_4 种创建方式_普通_dict_zip_formkeys
-
字典_元素的访问_键的访问_值的访问_键值对的访问
-
字典_元素的添加_修改_删除
-
字典_序列解包用于列表元组字典
-
字典_复杂表格数据存储_列表和字典综合嵌套
-
字典_核心底层原理_内存分析_存储键值对过程
-
字典_核心底层原理_内存分析_查找值对象过程
-
集合_特点_创建和删除_交集并集差集运算
第四章 控制语句
-
Pycharm 开发环境的下载安装配置_项目创建和运行
-
单分支选择结构_条件表达式详解
-
双分支选择结构_三元运算符的使用详解
-
多分支选择结构
-
选择结构的嵌套
-
while 循环结构_死循环处理
-
for 循环结构_遍历各种可迭代对象_range 对象
-
嵌套循环
-
嵌套循环练习_九九乘法表_打印表格数据
-
break 语句
-
continue 语句
-
else 语句
-
循环代码优化技巧(及其重要)
-
zip()并行迭代
-
推导式创建序列_列表推导式_字典推导式_集合推导式_生成器推导式
-
综合练习_绘制不同颜色的多个同心圆_绘制棋盘
第五章 函数
-
函数的基本概念_内存分析_函数的分类_定义和调用
-
形参和实参_文档字符串_函数注释
-
返回值详解
-
函数也是对象_内存分析
-
变量的作用域_全局变量_局部变量_栈帧内存分析讲解
-
局部变量和全局变量_效率测试
-
参数的传递_传递可变对象_内存分析
-
参数的传递_传递不可变对象_内存分析
-
浅拷贝和深拷贝_内存分析
10.参数的传递_不可变对象含可变子对象_内存分析
11.参数的类型_位置参数_默认值参数_命名参数
12.参数的类型_可变参数_强制命名参数
13.lambda 表达式和匿名函数
14.eval()函数用法
15.递归函数_函数调用内存分析_栈帧的创建
16.递归函数_阶乘计算案例
17.嵌套函数_内部函数_数据隐藏
18.nonlocal_global
- LEGB 规则
第六章 面向对象编程
-
面向对象和面向过程的区别_执行者思维_设计者思维
-
对象的进化故事
-
类的定义_类和对象的关系
-
构造函数__init__ 5. 实例属性_内存分析
-
实例方法_内存分析方法调用过程_dir()_isinstance
-
类对象
-
类属性_内存分析创建类和对象的底层
-
类方法_静态方法_内存分析图示
-
del()析构方法和垃圾回收机制
-
call()方法和可调用对象
-
方法没有重载_方法的动态性
-
私有属性
-
私有方法
-
@property 装饰器_get 和 set 方法
-
面向对象的三大特征说明(封装、继承、多态)
-
继承
-
方法的重写
-
object 根类_dir()
-
重写__str__()方法
-
多重继承
-
mro()
-
super()获得父类的定义
-
多态
-
特殊方法和运算符重载
-
特殊属性
-
对象的浅拷贝和深拷贝_内存分析
-
组合
-
设计模式_工厂模式实现
-
设计模式_单例模式实现
第七章 模块
-
模块化程序设计理念_模块和包
-
标准库有哪些
-
模块的设计和实现
-
API 的设计
-
模块的导入和使用
-
包的使用_导入和创建
-
重新加载模块_动态代入模块
-
模块的导入顺序
-
命名空间和名称查找顺序
-
第三方扩展库的介绍和安装
-
PyPy
-
PiP 安装第三方扩展库
第八章 文件操作(IO)
-
文本文件和二进制文件
-
文件操作相关模块介绍
-
创建文件对象_文本文件写入
-
with 语句_上下文管理
-
文本文件的读取
-
二进制文件的读取和写入
-
使用 pickle 序列化
-
CSV 文件的操作_csv 文件读取
-
CSV 文件的操作_csv 文件写入
-
os 和 os.path 模块_文件级操作
-
os 和 os.path 模块_目录级操作
-
存储数据_json.dump()和 json.load()
-
练习 1
-
练习 2
-
练习 3
第九章 异常和错误
-
异常处理结构_try_except
-
try_finally
-
raise 抛出异常
-
自定义异常
-
常见异常的解决
-
with 上下文管理器
-
程序调试
-
使用 pdb 模块调试程序
-
IDLE 的调试
-
Pycharm 开发环境的调试
第十章 数值日期和复杂文本处理
-
math 模块
-
random 模块_随机整数_随机序列
-
数值运算模块 NumPy_数组
-
数值运算模块 NumPy_应用
-
时间表示原理_时间对象
-
日期对象
-
字符串和日期对象互相转换
第 11 章 GUI 编程
-
Tkinter 介绍
-
第一个 GUI 程序
-
事件处理
-
控件_Button 按钮
-
控件_Canvas 画布
-
控件_Chekbutton_Radiobutton
-
控件_Entry 文本输入框
-
控件_Frame 容器
-
控件_Label_Message
-
控件_菜单制作_Menu_Menubutton
-
对话框_通用消息对话框
-
对话框_文件对话框
-
对话框_颜色选择对话框
-
几何管理器_网络管理器
-
几何管理器_包管理器
-
几何管理器_位置管理器
-
键盘事件处理
-
鼠标事件处理
-
动画的实现
-
【项目】_房贷计算器_1
-
【项目】_房贷计算器_2
-
【项目】_房贷计算器_3
-
【项目】_房贷计算器_4
-
【项目】_房贷计算器_4
第 12 章 【项目】坦克大战游戏开发
-
pygame 使用介绍_简单游戏编程
-
pygame 事件处理_图形图像处理
-
pygame 精灵_碰撞检测
-
坦克大战面向对象分析
-
坦克大战之加载主页面
-
坦克大战之-添加左上角提示文字
-
坦克大战之添加事件监听
-
坦克大战之加载我方坦克_ 9. 坦克大战之实现我方坦克的移动
-
坦克大战之优化坦克移动方式
-
坦克大战之新增随机生成敌方坦克
-
坦克大战之实现敌方坦克的随机移动
-
坦克大战之我方坦克发射子弹
-
坦克大战之子弹的优化处理
-
新增敌方坦克随机发射子弹?
-
敌方子弹与我方法坦克的碰撞以及我方坦克重生
-
坦克大战之敌方坦克的碰撞检测
-
坦克大战之爆炸效果的实现
-
爆炸效果补充
20 坦克大战之音效处理
第 13 章 图形绘制
-
基于 turtle 的画笔绘图_矩形_多边形_圆形
-
基于 turtle 的画笔绘图_递归图形
-
基于 turtle 的画笔绘图_实操练习
-
基于 tkinter 图形绘制_矩形_线条_字符串
-
基于 tkinter 图形绘制_绘制函数图形
-
Matplotlib_安装
-
Matplotlib_简单图形绘制
-
Matplotlib_函数曲线
-
Matplotlib_多个图形
-
Matplotlib_绘制直方图
第 14 章 数据库编程
-
内置数据库 SQLite
-
操作 SQLite 数据库_Connection_Cursor_Row
-
Mysql 数据库的安装和配置
-
Mysql 可视化客户端软件安装
-
PyMysql 的使用
-
对于数据库表的增删改查操作 1
-
对于数据库表的增删改查操作 2
-
对于数据库表的增删改查操作 3
第 15 章 多线程和并发编程
1:简述多进程
2:进程类
3:多进程默认不共享数据
4:子类创建
5:进程池
6:进程间通信 1
7:进程间通信 2
8:简述多线程
9:创建子线程
10:运行多线程程序
11:线程同步
12:同步异步
13:生产者消费者模式
14:threadlocal 变量
第 16 章 网络编程
1:网络基础
2:端口号的作用
3:协议
4:socket 编程
5:使用 udp 协议发送数据
6:使用 udp 协议接收数据
7:tftp 协议
8:tftp 下载原理
9:tftp 下载器
10:udp 广播
11:tcp 通信过程
12:tcp 服务器
13:多进程服务器
- 聊天室项目_1
15_聊天室项目_2
16_聊天室项目_3
-
聊天室项目_4
-
聊天室项目_5
第 17 章 协程和异步 IO
-
协程的概念
-
定义一个协程
-
创建 task 执行协程_绑定回调
-
future 与 result
-
阻塞和 await
-
并发和并行
-
协程嵌套
-
协程停止
-
master-worker 主从模式
-
aiohttp
第 18 章 脚本化系统管理
-
增强的交互式环境 IPython_IPython 安装_配置_启动
-
和 IPython 简单交互
-
magic 函数
-
执行外部系统命令和运行文件
-
文件管理
-
定时执行任务
第 19 章 语音识别模块_中英文实时翻译项目
-
语音识别基本原理
-
文本转换语音
-
调用讯飞动态链接库实现语音识别
-
百度语音 API 调用
-
【项目】实现中英文实时口语翻译_1
-
【项目】实现中英文实时口语翻译_2
-
【项目】实现中英文实时口语翻译_3
-
【项目】实现中英文实时口语翻译_4
-
【项目】实现中英文实时口语翻译_5
-
【项目】实现中英文实时口语翻译_6
第 20 章 Windows 下的 Python 开发
-
Python3 安装 pywin32 模块
-
Windows 编程基本知识_组件对象
-
实现 COM 组件
-
对 word 的自动访问
-
对 excel 的自动访问
-
操作窗口
-
操作进程
-
操作线程
-
桌面便签软件开发_1
-
桌面便签软件开发_2
-
桌面便签软件开发_3
-
桌面便签软件开发_4
-
桌面便签软件开发_5
第 21 章 【实战】算法
-
算法概述
-
时间复杂度分析
-
增长量级的概念
-
空间复杂度分析
-
查找算法_顺序查找法
-
查找算法_二分查找法
-
排序算法_冒泡排序法
-
排序算法_选择排序法
-
排序算法_插入排序法
-
排序算法_归并排序法
-
排序算法_快速排序法
-
Python 提供的查找算法
-
Python 提供的排序算法
第 22 章 【实战】手写数据结构
-
自定义队列_队列特点_入队
-
自定义队列_出队_测试
-
自定义栈_入栈
-
自定义栈_出栈
-
自定义二叉树_分析和创建类
-
自定义二叉树_创建左子树_创建右子树
-
自定义二叉树_前序遍历_后序遍历_中序遍历
-
自定义二叉树_测试
-
自定义有向图_特点分析
10.自定义有向图_创建
-
自定义有向图_路径搜索功能
-
自定义集合_类的创建和分析
-
自定义集合_添加元素_删除元素
-
自定义集合_差集运算
-
自定义集合_交集运算
-
自定义集合_并集运算
-
自定义集合_运算符重载_集合包含关系处理
-
自定义集合_运算符重载_支持 in 运算符
-
手写数据结构总结
第 23 章 正则表达式和复杂文本操作
1:正则表达式介绍_特殊符号和字符
2:字符匹配
3:创建字符集_表示字符集的特殊字符
4:限定范围和否定
5:使用小括号指定分组
6:贪婪模式和非贪婪模式
7:常用正则表达式示例
8:re 模块_核心函数和方法_compile()方法
9:匹配对象和 group()以及 groups()方法
10:match()匹配字符串
11:search()在一个字符串中查找
12:案例:编程实现抓取 163 主页所有图片地址信息
第 24 章 函数式编程和高阶函数
-
函数式编程是什么
-
高阶函数是什么
-
将函数作为参数
-
返回值为函数
-
map()高阶函数_1
-
map()高阶函数_2
-
map()高阶函数_3
-
reduce()高阶函数_1
-
reduce()高阶函数_2
-
reduce()高阶函数_3
-
filter()高阶函数
-
sorted()高阶函数
-
闭包_1
-
闭包_2
-
闭包_3
-
匿名函数
-
装饰器_1
-
装饰器_2
-
装饰器_3
-
偏函数
第 25 章 测试
-
单元测试_unittest
-
单元测试_coverage
-
性能测试_timeit
-
性能测试_profile
-
性能测试_line profiler
-
性能测试_memory profiler
-
性能测试_pympler
第 26 章 【项目】手工实现神经网络
-
神经网络基本原理_1
-
神经网络基本原理_2
-
MNIST 数据集简介
-
矩阵原理_1
-
矩阵原理_相关运算_2
-
正态分布原理_1
-
正态分布原理_2
-
Sigmoid 函数_神经网络激活函数_1
-
Sigmoid 函数_神经网络激活函数_2
-
使用 matplotlib 绘制 Sigmoid 函数
-
前向反馈_feedforward 函数_1
-
前向反馈_feedforward 函数_2
-
前向反馈_feedforward 函数_3
-
神经网络学习能力构建_随机梯度下降函数_1
-
神经网络学习能力构建_随机梯度下降函数_2
16.神经网络学习能力构建_随机梯度下降函数_3
17.神经网络学习能力构建_随机梯度下降函数_4
18.神经网络学习能力构建_随机梯度下降函数_5
19.MNIST 数据集的加载
20.测试和训练神经网络