欢迎访问学兔兔,学习、交流 分享 !

返回首页 |

Python3从入门到实战 董洪伟 2019年版

收藏
  • 大小:222.22 MB
  • 语言:中文版
  • 格式: PDF文档
  • 阅读软件: Adobe Reader
资源简介
Python3从入门到实战
作者:董洪伟
出版时间: 2019年版
内容简介
  本书是一本语法与实践相结合的Python 入门教程,全书分为上、下篇。上篇为“Python 语法与实践”,以简明的语言、易懂的案例介绍Python 的变量与对象、运算符与表达式、控制语句、函数、内置数据类型,Python 的面向对象特征,如类与对象、派生类、类的实例与静态方法等Python 语言的核心语法,以及迭代器与可迭代对象、闭包、装饰器、@property、深拷贝与浅拷贝等高级语言特征,还介绍了错误与异常、调试。在核心语法部分采用来自数据结构、游戏编程、信息管理、机器学习、强化学习等其他学科和领域的一些经典问题作为实战演练,展示了Python 解决实际问题的强大功能,以提高初学者的实际编程能力,使其尽快熟悉语法的使用。下篇为“Python 标准库”,对常用的一些Python 标准库,如操作系统接口模块、时间日期模块,以及正则表达式、并发计算、图形用户接口编程、网络套接字编程、Internet 应用编程、数据持久化等进行了介绍。本书描述精练、通俗易懂,提供了丰富的实战案例,既可作为大学本科和高职高专相关专业课程的教材,也可供编程爱好者学习和参考。
目录
目 录
上篇 Python语法与实践
第1章 Python介绍
1.1 程序与编程语言
1.1.1 计算机是什么
1.1.2 计算机编程
1.1.3 编译器、解释器和Python语言
1.1.4 Python程序开发步骤
1.2 Python语言的主要特征
1.3 Python开发环境及安装方式
1.3.1 安装Python
1.3.2 Python开发环境
1.4 Python解释器
1.4.1 交互式解释执行模式
1.4.2 函数
1.4.3 运行脚本文件模式
1.4.4 语句和注释
1.5 数和字符的表示
1.5.1 数的表示
1.5.2 字符的表示
1.6 如何获得帮助
1.7 习题
第2章 Python基本计算
2.1 值、类型、对象
2.1.1 值和类型
2.1.2 对象
2.2 变量
2.2.1 什么是变量
2.2.2 变量名和关键字
2.2.3 动态类型语言
2.3 数据类型概述
2.3.1 数值类型
2.3.2 列表
2.3.3 元组
2.3.4 字符串
2.3.5 集合
2.3.6 字典
2.4 类型转换和输入
2.4.1 隐式类型转换
2.4.2 显式类型转换
2.4.3 输入
2.5 运算符和表达式
2.5.1 运算符和表达式的应用方法
2.5.2 运算符的种类
2.5.3 运算符的优先级
2.6 可变对象和不可变对象
2.7 控制语句
2.7.1 if条件语句
2.7.2 循环语句
2.7.3 pass语句
2.8 实战
2.8.1 二分查找
2.8.2 冒泡排序和简单选择排序
2.8.3 Floyd最短路径算法
2.9 习题
第3章 函数
3.1 定义函数、调用函数、参数传递
3.1.1 定义函数和调用函数
3.1.2 参数传递
3.1.3 return语句
3.1.4 文档字符串
3.2 全局变量和局部变量
3.2.1 全局变量
3.2.2 局部变量
3.3 函数的参数
3.3.1 默认形参
3.3.2 位置实参和关键字实参
3.3.3 任意形参(可变形参)
3.3.4 字典形参
3.3.5 解封参数列表
3.4 递归函数(调用自身的函数)
3.4.1 递归函数的使用方法
3.4.2 实战:二分查找的递归实现
3.4.3 实战:汉诺塔问题
3.4.4 实战:快速排序算法
3.4.5 实战:迷宫问题
3.5 函数对象和lambda表达式
3.5.1 函数对象
3.5.2 lambda表达式
3.6 模块和包
3.6.1 模块
3.6.2 sys模块(Python解释器接口)
3.6.3 伪随机数发生器模块
3.6.4 包
3.6.5 Matplotlib包
3.7 实战:Pong游戏
3.7.1 Pygame游戏库介绍
3.7.2 用Pygame编写游戏
3.7.3 Pong游戏
3.8 实战:线性回归
3.8.1 机器学习
3.8.2 假设函数、回归和分类
3.8.3 线性回归
3.8.4 多变量函数的最小值、正规方程
3.8.5 梯度下降法
3.8.6 梯度下降法求解线性回归问题:模拟数据
3.8.7 批梯度下降法
3.8.8 房屋价格预测
3.8.9 样本特征的规范化
3.8.10 利用预测模型预测房屋价格
3.9 习题
第4章 内置数据类型
4.1 数值
4.1.1 int、float、complex、bool
4.1.2 类型转换
4.1.3 浮点数的精度问题
4.1.4 数值计算的函数
4.1.5 数学模块
4.2 列表
4.2.1 列表的定义
4.2.2 访问list的元素(索引和切片)
4.2.3 包含和遍历
4.2.4 list的算术运算
4.2.5 Python的内置函数对list进行操作
4.2.6 list的方法
4.2.7 列表解析式
4.2.8 list包含的不是对象本身而是对象的引用
4.3 字符串
4.3.1 定义字符串
4.3.2 转义字符
4.3.3 索引
4.3.4 切片
4.3.5 字符串不可修改
4.3.6 包含和遍历
4.3.7 内置函数对字符串操作
4.3.8 字符串的方法
4.4 元组
4.4.1 创建tuple对象
4.4.2 索引和切片
4.4.3 tuple是不可变的
4.4.4 用内置函数对tuple操作
4.4.5 tuple的方法
4.5 集合
4.5.1 创建set对象
4.5.2 遍历set
4.5.3 用内置函数对set操作
4.5.4 set的方法
4.5.5 set的运算符操作
4.5.6 set的集合运算(并、交、对称差)
4.6 字典
4.6.1 创建字典对象
4.6.2 获取键的值
4.6.3 通过下标插入或更新一个键值
4.6.4 插入或更新多个键值:update()方法
4.6.5 删除键值
4.6.6 获取所有键、所有值、所有键值
4.6.7 遍历所有键、所有值、所有键值
4.6.8 用内置函数访问dict对象
4.6.9 从两个可迭代对象创建一个dict
4.6.10 用in检测dict对象是否包含某个键
4.7 用强化学习Q-Learning算法求解最佳路径
4.7.1 强化学习
4.7.2 Q-Learning算法
4.7.3 Q-Learning算法的Python实现
4.8 习题
第5章 面向对象编程
5.1 什么是面向对象编程
5.1.1 过程式编程和面向对象编程
5.1.2 Python既支持面向对象编程,也支持过程式编程
5.1.3 打印员工信息
5.2 类和对象
5.2.1 定义类
5.2.2 实例属性和构造函数
5.2.3 实例方法
5.2.4 类属性
5.2.5 del
5.2.6 访问控制和私有属性
5.2.7 运算符重载
5.3 派生类
5.3.1 派生类
5.3.2 覆盖
5.3.3 多继承
5.3.4 属性解析
5.4 绑定属性
5.4.1 动态绑定:给类和对象任意绑定属性
5.4.2 对象的__dict__属性
5.4.3 __slots__
5.5 实战:二叉搜索树
5.5.1 树、二叉树、二叉搜索树
5.5.2 树和二叉树的存储表示
5.5.3 二叉树的操作
5.5.4 二叉搜索树的操作
5.6 实战:面向对象游戏引擎和仿“雷电战机”游戏
5.6.1 面向对象游戏引擎
5.6.2 Pong游戏
5.6.3 仿“雷电战机”游戏
5.7 习题
第6章 输入/输出
6.1 标准输入/输出
6.1.1 标准输出函数print()
6.1.2 格式化输出
6.1.3 美观输出函数pprint()
6.1.4 标准输入(内置函数input())
6.2 文件读/写
6.2.1 内置函数open()
6.2.2 文件对象的方法
6.2.3 二进制文件读/写
6.2.4 tell()方法和seek()方法
6.3 习题
第7章 错误和异常
7.1 错误
7.1.1 语法错误
7.1.2 运行时错误:异常
7.1.3 逻辑错误
7.2 异常处理
7.2.1 捕捉异常的基本形式
7.2.2 捕获特定类型的异常
7.2.3 捕获未知的内置异常
7.2.4 else子句
7.2.5 finally子句
7.2.6 用raise抛出异常
7.2.7 自定义异常类
7.2.8 预定义清理行为
7.3 调试程序
7.3.1 输出(打印)
7.3.2 断言
7.3.3 日志
7.3.4 调试工具
7.4 习题
第8章 高级语法特性
8.1 容器、可迭代对象、迭代器、生成器
8.1.1 容器
8.1.2 可迭代的和迭代器
8.1.3 生成器
8.1.4 例子:读取多个文件
8.1.5 标准库的迭代器工具
8.2 闭包
8.2.1 作用域
8.2.2 嵌套函数
8.2.3 什么是闭包
8.2.4 用闭包代替类
8.2.5 函数的闭包属性__closure__
8.3 装饰器
8.4 @property
8.5 类的静态方法和类方法
8.5.1 静态方法
8.5.2 类方法
8.6 浅拷贝、深拷贝
8.6.1 浅拷贝
8.6.2 深拷贝
8.7 习题
下篇 Python标准库
第9章 标准库的常用模块
9.1 操作系统接口模块
9.1.1 os模块
9.1.2 高层文件操作
9.1.3 glob模块
9.2 时间和日期模块
9.2.1 时间模块
9.2.2 日期模块
9.3 习题
第10章 正则表达式
10.1 正则表达式的定义
10.2 re模块
10.2.1 re模块的常用函数
10.2.2 编译模式串
10.2.3 从头匹配
10.2.4 多个匹配
10.2.5 按匹配切分
10.2.6 替换匹配
10.3 正则表达式中的语法规则
10.3.1 字符集
10.3.2 反斜杠
10.3.3 量词(重复)
10.3.4 边界字符(锚点)
10.3.5 或运算
10.3.6 分组
10.4 match和flags
10.4.1 match对象及其应用
10.4.2 标志参数
10.5 习题
第11章 并发计算
11.1 多线程
11.1.1 Thread类
11.1.2 线程同步
11.2 多进程
11.2.1 创建进程
11.2.2 从Process类派生自己的进程类
11.2.3 为进程命名
第12章 图形用户接口(GUI)编程
12.1 Tkinter基础
12.1.1 事件驱动编程
12.1.2 第一个GUI程序
12.1.3 Tkinter部件
12.1.4 布局――几何管理
12.1.5 属性
12.1.6 自定义事件处理函数
12.1.7 定制事件处理函数
12.1.8 文本输入框
12.1.9 获取焦点
12.1.10 聊天对话框
12.1.11 框架
12.2 用类封装GUI
12.2.1 菜单
12.2.2 工具条
12.2.3 画图
12.2.4 用鼠标画图
第13章 网络套接字编程
13.1 套接字编程概述
13.1.1 创建一个socket对象
13.1.2 服务器:绑定地址
13.1.3 面向连接的监听
13.1.4 发送和接收数据
13.2 TCP服务器程序和客户程序
13.2.1 最简单的TCP服务器程序和客户程序
13.2.2 TCP服务器程序和客户程序(多连接)
13.2.3 TCP服务器程序和客户程序(数据分块)
13.2.4 TCP服务器程序(多进程)
13.2.5 TCP服务器程序(多线程)
13.3 UDP服务器程序和客户程序
13.3.1 UDP服务器程序
13.3.2 UDP客户程序
13.4 socketserver
13.4.1 socketserver模块
13.4.2 socketserver.TCPServer
13.4.3 socketserver.UDPServer
第14章 Internet应用编程
14.1 urllib模块
14.1.1 Get请求
14.1.2 Post请求
14.1.3 Request对象
14.1.4 代理服务器
14.1.5 登录验证
14.1.6 网络爬虫
14.2 email
14.2.1 smtplib模块
14.2.2 收取和处理邮件
第15章 数据持久化
15.1 pickle模块
15.2 shelve模块
15.3 dbm模块
15.4 json模块
15.4.1 简单数据类型的编码和解码
15.4.2 自定义类型的编码和解码
15.4.3 编码类和解码类
15.4.4 流或文件
15.5 sqlite3模块
15.5.1 数据库基本操作
15.5.2 在查询中使用变量
15.5.3 事务
参考文献
下载地址