Python带我起飞:入门、进阶、商业实战

Python带我起飞:入门、进阶、商业实战

配套学习资源

书评

第1篇 入门

1 了解Python

1.1 了解Python的历史
1.2 Python可以做什么
1.3 Python在数据科学中的地位及前景
1.4 如何使用本书

2 配置机器及搭建开发环境

本章教学视频说明
2.1 Python版本及开发环境介绍
2.1.1 Python的运行方式
2.1.2 常见的集成开发环境(IDE)
2.2 下载及安装Anaconda
2.3 熟悉Anaconda 3开发工具
2.3.1 快速了解Spyder
2.3.2 快速了解Jupyter Notebook
2.4 实例1:运行Python程序,并传入参数
2.4.1 在Spyder中新建Python文件,编写代码,运行代码
2.4.2 用命令行启动Python程序,并传入参数
2.4.3 用Spyder启动Python程序,并传入参数

3 语言规则——Python的条条框框

本章教学视频说明
3.1 了解编程语言的分类
3.2 基础规则
3.2.1 了解Python源代码相关的几个概念
3.2.2 语句的基本规则:变量、语句、代码块
3.2.3 添加注释
3.2.4 使用Python的“帮助”
3.3 代码文件的结构
3.3.1 模块
3.3.2 包
3.4 模块的详细介绍
3.4.1 模块的作用及分类
3.4.2 模块的基本使用方法
3.4.3 模块的搜索路径
3.4.4 模块的属性
3.4.5 模块名字的可变性
3.4.6 模块的常规写法
3.5 模块的四种导入方式
3.5.1 import as方式
3.5.2 from import方式
3.5.3 from import * 方式
3.5.4 导入文件名中带空格的模块
3.6 实例2:封装获取系统信息的模块,并将其导入
3.6.1 在当前代码中的函数与模块中的函数同名情况下,导入模块
3.6.2 在模块与当前代码不在同一路径的情况下,导入模块
3.6.3 导入上级路径的模块

第2篇 进阶

4 变量——编写代码的基石

本章教学视频说明
4.1 什么是变量
4.2 了解变量的规则
4.2.1 明白变量的本质——对象
4.2.2 同时定义多个变量
4.2.3 变量类型介绍
4.2.4 变量类型的帮助函数
4.3 numbers(数字)类型
4.3.1 获取对象的类型
4.3.2 算术运算符
4.3.3 实例3:演示“算术运算符”的使用
4.3.4 赋值运算符
4.3.5 实例4:演示“赋值运算符”的使用
4.3.6 比较运算符
4.3.7 实例5:演示“比较运算符”的使用
4.3.8 慎用is函数
4.3.9 实例6:演示Python的缓存机制
4.3.10 布尔型关系的运算符
4.3.11 位运算符
4.3.12 实例7:演示“位运算符”的使用
4.4 strings(字符串)类型
4.4.1 字符串的描述
4.4.2 转义符
4.4.3 屏幕I/O及格式化
4.4.4 实例8:以字符串为例,演示“序列”类型的运算及操作
4.4.5 关于切片的特殊说明
4.4.6 字符串的相关函数
4.5 list(列表)类型
4.5.1 list的运算及操作
4.5.2 list的内置方法
4.5.3 实例9:演示list使用中的技巧及注意事项
4.5.4 列表嵌套
4.5.5 实例10:使用list类型实现队列和栈
4.5.6 实例11:使用函数filter筛选列表——筛选学生列表中的偏科学生名单
4.6 tuple(元组)类型
4.6.1 tuple的描述
4.6.2 运算及操作
4.6.3 实例12:演示tuple的用法
4.7 set(集合)类型
4.7.1 set的描述
4.7.2 set的运算
4.7.3 set的内置方法
4.7.4 不可变集合
4.8 dictionary(字典)类型
4.8.1 字典的描述
4.8.2 字典的运算
4.8.3 字典的内置方法
4.9 对组合对象进行“深拷贝”和“浅拷贝”
4.9.1 浅拷贝
4.9.2 深拷贝

5 控制流——控制执行顺序的开关

本章教学视频说明
5.1 if语句
5.1.1 语句形式
5.1.2 演示if语句的使用
5.1.3 实例13:根据来访人的性别选择合适的称呼
5.2 while语句
5.2.1 语句形式
5.2.2 演示while语句的使用
5.2.3 实例14:将十进制数转化为二进制数
5.3 for语句
5.3.1 语句形式
5.3.2 在for循环中,使用切片
5.3.3 在for循环中,使用内置函数range
5.3.4 实例15:利用循环实现冒泡排序
5.3.5 在for循环中,使用内置函数zip
5.3.6 在for循环中,使用内置函数enumerate
5.4 对循环进行控制——break、continue、pass语句
5.5 实例16:演示人机对话中的控制流程(综合应用前面语句)
5.6 利用for循环实现列表推导式
5.7 实例17:利用循环来打印“九九乘法表”
5.8 理解for循环的原理——迭代器

6 函数——功能化程序片段的封装

本章教学视频说明
6.1 函数的基本概念
6.1.1 函数的定义
6.1.2 函数的组成部分
6.1.3 函数的参数:形参与实参
6.1.4 函数的返回值
6.1.5 函数的属性
6.1.6 函数的本质
6.1.7 函数的分类
6.1.8 实例18:打印两个心形图案
6.2 定义参数及调用函数
6.2.1 函数参数的定义方法与调用形式
6.2.2 在函数调用中检查参数
6.2.3 函数调用中的参数传递及影响
6.3 匿名函数与可迭代函数
6.3.1 匿名函数与可迭代函数的介绍
6.3.2 匿名函数与reduce函数的组合应用
6.3.3 匿名函数与map函数的组合应用
6.3.4 匿名函数与filter函数的组合应用
6.3.5 可迭代函数的返回值
6.4 偏函数
6.5 递归函数
6.6 eval与exec函数
6.6.1 eval与exec的区别
6.6.2 eval与exec的定义
6.6.3 exec和eval的使用经验
6.6.4 eval与exec的扩展知识
6.7 实例19:批量测试转化函数(实现“组合对象”与“字符串”的相互转化)
6.7.1 编写两个功能函数
6.7.2 编写单元测试用例
6.7.3 批量运行单元测试用例
6.8 生成器函数
6.8.1 生成器与迭代器的区别
6.8.2 生成器函数
6.8.3 生成器表达式
6.9 变量的作用域
6.9.1 作用域介绍
6.9.2 global语句
6.9.3 nonlocal语句
6.10 工厂函数
6.10.1 普通工厂函数的实现
6.10.2 闭合函数(closure)
6.10.3 装饰器(decorator)
6.10.4 @修饰符
6.10.5 更高级的装饰器
6.10.6 解决“同作用域下默认参数被覆盖”问题

7 错误与异常——调教出听话的程序

本章教学视频说明
7.1 错误的分类
7.1.1 语法错误
7.1.2 运行时错误
7.2 异常的基本语法
7.2.1 同时处理多个异常
7.2.2 异常处理中的else语句
7.2.3 输出未知异常
7.2.4 输出异常的详细信息
7.3 捕获与处理异常
7.3.1 异常的处理流程
7.3.2 try语句的工作原理
7.3.3 一些常见的异常
7.4 创建异常
7.4.1 创建异常的方法
7.4.2 创建异常举例
7.5 异常的最终处理(清理动作)
7.5.1 finally的使用场景
7.5.2 finally与else的区别
7.6 判定条件的正确性(断言)
7.6.1 断言的表达形式
7.6.2 带错误信息的断言语句
7.7 实例20:如HTTP请求失败,实现“重试”功能
7.7.1 使用装饰器实现失败重试
7.7.2 编写简单爬虫
7.7.3 传入正确的目的地址,开始爬取
7.7.4 传入错误的目的地址,验证“重试”功能

8 文件操作——数据持久化的一种方法

本章教学视频说明
8.1 文件的基本操作
8.1.1 读写文件的一般步骤
8.1.2 打开文件
8.1.3 具体读写
8.1.4 关闭文件
8.2 文件对象的方法
8.2.1 文件对象的常用方法介绍
8.2.2 把文件对象当作迭代器来读取
8.3 实例21:带有异常处理的文件操作
8.4 使用with语句简化代码
8.4.1 实例22:使用with语句操作文件
8.4.2 with语法的原理
8.5 实现字符串与二进制数的相互转化
8.5.1 将字符串转二进制数
8.5.2 将二进制数转字符串
8.6 将任意对象序列化
8.6.1 pickle函数
8.6.2 实例23:用pickle函数实现元组与“二进制对象”“二进制对象文件”之间的转换
8.6.3 序列化的扩展方法(ZODB模块)
8.7 实例24:批量读取及显示CT医疗影像数据
8.7.1 DICOM介绍
8.7.2 Python中的DICOM接口模块
8.7.3 编写代码以载入DICOM文件
8.7.4 读取DICOM中的数值
8.7.5 显示单张DICOM数据图像
8.7.6 批量生成DICOM数据图像

第3篇 高阶

9 类——面向对象的编程方案

本章教学视频说明
9.1 类的相关术语及实现
9.1.1 创建类
9.1.2 创建类属性
9.1.3 定义类的动态属性
9.1.4 限制类属性(slots
9.2 实例化类对象
9.2.1 带有初始值的实例化
9.2.2 class中的self
9.2.3 类方法(@classmethod)与静态方法(@staticmethod)
9.2.4 类变量与实例变量的区别
9.2.5 销毁类实例化对象
9.3 类变量的私有化类属性
9.3.1 公有化(public)与私有化(private)
9.3.2 私有化的实现
9.3.3 使用装饰器技术实现类的私有化(@property)
9.4 实现子类
9.4.1 继承
9.4.2 实例25:演示类的继承
9.4.3 super函数
9.4.4 实例26:演示super函数的功能
9.5 类相关的常用内置函数
9.5.1 判断实例(isinstance)
9.5.2 判断子类(issubclass)
9.5.3 判断类实例中是否含有某个属性(hasattr)
9.5.4 获得类实例中的某个属性(getattr)
9.5.5 设置类实例中的某个属性值(setattr)
9.6 重载运算符
9.6.1 重载运算符的方法与演示
9.6.2 可重载的运算符
9.7 包装与代理
9.7.1 包装
9.7.2 代理
9.7.3 实例27:使用代理的方式实现RESTful API接口
9.8 自定义异常类
9.8.1 自定义异常类的方法
9.8.2 实例28:自定义异常类的多重继承与使用
9.9 支持with语法的自定义类
9.9.1 实现支持with语法的类
9.9.2 实例29:代码实现自定义类,并使其支持with语法
9.10 “自定义迭代器类”的实现与调试技巧
9.10.1 实例30:自定义迭代器,实现字符串逆序
9.10.2 调试技巧
9.11 元类(MetaClass)
9.11.1 Class的实现原理
9.11.2 元类的介绍

10 系统调度——实现高并发的处理任务

本章教学视频说明
10.1 进程与线程
10.2 线程
10.2.1 线程的创建及原理
10.2.2 互斥锁
10.2.3 实例31:使用信号量来同步多线程间的顺序关系
10.2.4 实例32:实现基于事件机制的消息队列
10.2.5 实例33:使用条件锁同步多线程中的生产者与消费者关系
10.2.6 实例34:创建定时器触发程序,在屏幕上输出消息
10.2.7 实例35:使用线程池提升运行效率
10.2.8 需要创建多少个线程才算合理
10.3 进程
10.3.1 实例36:创建多进程的程序
10.3.2 多进程与多线程的区别
10.4 协程
10.4.1 协程的相关概念及实现步骤
10.4.2 实例37:使用协程实现“任务提交”与“结果接收”
10.5 应该选择线程,还是协程
10.6 实例38:使用协程批量修改文件扩展名

第4篇 商业实战

11 爬虫实战(实例39):批量采集股票数据,并保存到Excel中

11.1 爬取股票代码
11.1.1 找到目标网站
11.1.2 打开调试窗口,查看网页代码
11.1.3 在网页源码中找到目标元素
11.1.4 分析目标源代码,找出规律
11.1.5 编写代码抓取股票代码
11.1.6 运行代码,显示结果
11.2 爬取股票内容
11.2.1 编写代码抓取批量内容
11.2.2 运行代码显示结果
11.3 爬虫项目的其他技术

12 自动化实战(实例40):读取Excel数据文件,并用可视化分析

12.1 使用Pandas读取Excel文件,并用Matplotlib生成大盘走势图
12.2 使用Pandas处理数据并绘制成图
12.2.1 使用Pandas处理数据
12.2.2 绘制直方图和折线图
12.3 自动化数据处理的其他技术

13 机器学习实战(实例41):从一组看似混乱的数据中找出y≈2x的规律

13.1 准备数据
13.2 训练模型并实现可视化
13.2.1 训练模型
13.2.2 利用模型进行预测
13.2.3 了解线性回归模型的内部原理
13.2.4 将模型可视化
13.3 评估模型
13.3.1 评估模型的基本思路
13.3.2 用代码实现模型评估
13.4 保存模型,应用模型
13.5 机器学习的方向

14 人工智能实战(实例42):基于人脸识别的“来访登记系统”

14.1 安装案例所依赖的模块
14.2 安装及使用dlib模块
14.2.1 下载dlib模块
14.2.2 安装dlib模块
14.2.3 使用dlib模块进行人脸检测
14.3 安装及使用face_recognition模块
14.3.1 下载face_recognition模块
14.3.2 下载及安装face_recognition_models模型
14.3.3 使用face_recognition模块检测人脸中的特征点
14.4 安装及使用opencv模块
14.4.1 下载并安装opencv模块
14.4.2 下载中文字体
14.4.3 使用opencv调用摄像头进行拍照
14.5 安装及使用yagmail模块
14.5.1 安装yagmail模块
14.5.2 使用yagmail模块向自己的QQ邮箱发送邮件
14.6 详细设计
14.6.1 需求描述
14.6.2 定义系统的输入和输出
14.6.3 系统规则及约束
14.6.4 结构体设计
14.6.5 软件的主体架构图
14.6.6 软件的主体流程介绍
14.7 编码实现
14.7.1 导入模块
14.7.2 定义结构体
14.7.3 实现发送邮件函数
14.7.4 实现邮件内容生成函数
14.7.5 实现过滤并保存来访记录的函数
14.7.6 实现定时器处理函数
14.7.7 在主线程中启动定时器线程
14.7.8 实现并调用函数载入人脸库
14.7.9 在主循环里调用摄像头,并进行人脸识别
14.8 运行程序
14.9 下一步对系统的改进

附录A 内置函数

思维导图

Python带我起飞:入门、进阶、商业实战

防止博客图床图片失效,防止图片源站外链:

http://www.processon.com/chart_image/5e5b35dbe4b0cc44b5b4a66f.png)

思维导图在线编辑链接:

https://www.processon.com/view/5e5b35dbe4b0cc44b5b4a66c

posted @ 2020-05-12 12:32  哀莫  阅读(407)  评论(0编辑  收藏  举报

欢迎访问我的主页!