本书是一本系统讲解Python基础知识和实战开发应用的程序设计类图书。全书分为4篇,入门篇从Python的简介开始,逐步介绍开发环境的搭建、Python基础语法、流程控制语句、序列、字典和集合等核心内容;提高篇主要介绍函数、面向对象编程、文件操作、异常处理等内容;应用篇主要探讨Python在游戏开发、网络爬虫、数据库编程、数据分析、数据可视化和机器学习等领域的开发应用;项目实战篇介绍人机对战版五子棋游戏、二手房数据分析与房价预测两个综合开发项目。
本书旨在为读者提供一本全面的Python编程指南,涵盖从基础到高级,从理论到实战的Python开发的各个领域。故本书既适合零基础或有一定基础的程序设计爱好者使用,又可作为各类院校和培训机构Python程序设计课程的教材。
入门篇
第1章 走进Python编程世界
1.1 Python简介
1.1.1 Python的产生与发展
1.1.2 Python的特点
1.1.3 Python之禅
1.1.4 Python的应用领域
1.2 Python开发工具
1.3 实战——搭建Python开发环境
1.3.1 安装Python
1.3.2 安装PyCharm
1.3.3 Python初体验
1.4 本章小结
第2章 Python基础语法
2.1 Python编码规范
2.1.1 注释
2.1.2 缩进
2.1.3 语句换行
2.1.4 空格与空行
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.3.7 位运算符
2.3.8 运算符的优先级
2.4 输入和输出
2.4.1 输入
2.4.2 输出
2.5 实战
2.5.1 输出个人简介
2.5.2 数据的加密和解密
2.5.3 “你问我答”游戏
2.6 本章小结
第3章 流程控制语句
3.1 分支语句
3.1.1 简单的if语句
3.1.2 if-else语句
3.1.3 if-elif-else语句
3.1.4 嵌套的if语句
3.2 循环语句
3.2.1 while语句
3.2.2 for语句
3.2.3 嵌套的循环语句
3.2.4 break和continue语句
3.3 实战
3.3.1 彩票兑奖系统
3.3.2 “人机猜拳”游戏
3.4 本章小结
第4章 序列
4.1 通用序列的基本操作
4.1.1 索引
4.1.2 分片
4.1.3 相加和相乘
4.1.4 计算长度、最小值和最大值
4.1.5 查找和计数
4.2 字符串
4.2.1 字符串的常用操作
4.2.2 字符串的格式化操作
4.3 列表
4.3.1 列表的创建和访问
4.3.2 列表的基本操作
4.3.3 列表的遍历
4.4 元组
4.4.1 元组的创建和访问
4.4.2 元组的合并与遍历
4.5 实战
4.5.1 判断回文串
4.5.2 模拟双色球号码生成器
4.6 本章小结
第5章 字典和集合
5.1 字典
5.1.1 字典的创建
5.1.2 字典的访问
5.1.3 字典的基本操作
5.1.4 字典的遍历
5.2 集合
5.2.1 集合的创建
5.2.2 集合的基本操作
5.3 实战
5.3.1 “诗词大会”游戏
5.3.2 分析兴趣班报名情况
5.4 本章小结
提高篇
第6章 函数
6.1 函数的定义和使用
6.1.1 函数的定义
6.1.2 函数的调用
6.1.3 函数的返回
6.2 函数的参数
6.2.1 实参和形参
6.2.2 参数类型
6.3 函数的嵌套
6.4 函数的递归
6.5 变量的作用域
6.5.1 局部变量和全局变量
6.5.2 global和nonlocal关键字
6.6 匿名函数
6.7 模块
6.7.1 模块的导入
6.7.2 模块的创建
6.7.3 __name__属性
6.7.4 包
6.8 实战
6.8.1 简易计算器
6.8.2 客户信息管理系统
6.9 本章小结
第7章 面向对象编程
7.1 面向对象程序设计入门
7.2 类的定义与使用
7.2.1 类的定义
7.2.2 创建对象
7.2.3 self参数
7.2.4 构造方法
7.2.5 析构方法
7.3 类变量和实例变量
7.4 封装
7.5 继承
7.5.1 单继承
7.5.2 多继承
7.5.3 方法重写
7.6 多态
7.7 类方法和静态方法
7.7.1 类方法
7.7.2 静态方法
7.8 实战
7.8.1 制作个人信息调查表
7.8.2 “猫狗大战”游戏
7.9 本章小结
第8章 文件操作
8.1 打开和关闭文件
8.1.1 打开文件
8.1.2 关闭文件
8.1.3 上下文管理语句with
8.2 读写文件
8.2.1 写入文件
8.2.2 读取文件
8.3 定位文件
8.3.1 获取当前读写位置
8.3.2 定位到指定位置
8.4 文件与文件夹操作
8.4.1 os模块
8.4.2 os.path模块
8.4.3 shutil模块
8.5 实战
8.5.1 批量生成和重命名文件
8.5.2 客户信息管理系统(文件版)
8.6 本章小结
第9章 异常处理
9.1 语法错误和异常
9.1.1 语法错误
9.1.2 异常
9.2 异常检测和处理
9.2.1 try-except语句
9.2.2 多重except语句
9.2.3 try-except-else语句
9.2.4 try-except-finally语句
9.3 抛出异常
9.3.1 raise语句
9.3.2 assert语句
9.4 用户自定义异常
9.5 实战
9.5.1 根据身份证号码判断省区、生日和性别
9.5.2 用户账号注册系统
9.6 本章小结
应用篇
第10章 游戏开发
10.1 Pygame简介
10.2 Pygame常用功能
10.2.1 创建窗口并加载图片
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.4 本章小结
第11章 网络爬虫
11.1 网络爬虫概述
11.2 爬取网页
11.2.1 requests库概述
11.2.2 使用requests库
11.3 解析网页
11.3.1 网页基础
11.3.2 beautifulsoup4库
11.4 实战——爬取PythonTab基础教程的数据
11.4.1 需求分析
11.4.2 程序设计
11.4.3 代码实现
11.4.4 运行结果
11.5 本章小结
第12章 数据库编程
12.1 数据库简介
12.2 MySQL数据库
12.2.1 MySQL数据库的安装与配置
12.2.2 MySQL操作命令
12.3 Python操作MySQL数据库
12.3.1 连接MySQL数据库
12.3.2 数据库的基本操作
12.3.3 预处理
12.3.4 批处理
12.3.5 事务处理
12.3.6 数据库连接池
12.4 实战——爬取豆瓣电影Top250并存入MySQL
12.4.1 需求分析
12.4.2 程序设计
12.4.3 代码实现
12.4.4 运行结果
12.5 本章小结
第13章 数据分析
13.1 数据分析概述
13.1.1 什么是数据分析
13.1.2 数据分析的流程
13.1.3 数据分析工具
13.2 Pandas数据预处理
13.2.1 数据的清洗
13.2.2 数据的合并
13.2.3 数据的分组与聚合
13.2.4 数据的转换
13.2.5 时间信息的转换与提取
13.3 Pandas数据分析
13.3.1 数据的排序与排名分析
13.3.2 数据的统计分析
13.3.3 数据的表格分析
13.3.4 数据的正态性分布
13.3.5 数据的相关性分析
13.4 实战——互联网广告智能投放分析
13.4.1 需求分析
13.4.2 程序设计
13.4.3 代码实现
13.4.4 运行结果
13.5 本章小结
第14章 数据可视化
14.1 绘图工具Matplotlib
14.1.1 绘图的基本要素
14.1.2 绘图的基本步骤
14.1.3 图形样式设置
14.2 常用图表的绘制
14.2.1 折线图
14.2.2 直方图
14.2.3 柱状图
14.2.4 饼状图
14.2.5 散点图
14.2.6 箱形图
14.3 实战——某餐厅一周订单信息分析
14.3.1 需求分析
14.3.2 程序设计
14.3.3 代码实现
14.3.4 运行结果
14.4 本章小结
第15章 机器学习
15.1 机器学习概述
15.1.1 机器学习
15.1.2 机器学习相关术语
15.2 机器学习Scikit-learn
15.2.1 Scikit-learn简介
15.2.2 线性模型
15.2.3 支持向量机
15.2.4 聚类
15.3 实战——使用支持向量机实现人脸识别
15.3.1 需求分析
15.3.2 程序设计
15.3.3 代码实现
15.3.4 运行结果
15.4 本章小结
项目实战篇
第16章 人机对战版五子棋游戏
16.1 需求分析
16.1.1 五子棋的游戏规则
16.1.2 五子棋的基本棋型
16.1.3 五子棋功能模块
16.2 设置基础参数
16.3 设置用户界面
16.4 棋盘操作
16.5 计算机落子算法实现
16.6 主函数
16.7 程序运行结果
16.8 本章小结
第17章 二手房数据分析与房价预测
17.1 需求分析
17.2 爬取数据
17.3 数据预处理
17.3.1 数据解析
17.3.2 异常值处理
17.3.3 重复值处理
17.3.4 缺失值处理
17.3.5 连续数据离散化
17.3.6 字符型数据编码
17.4 数据分析和可视化
17.4.1 各区域二手房数量和均价分析
17.4.2 二手房面积和总价区间占比分析
17.4.3 二手房房龄和均价的相关性分析
17.4.4 不同楼盘高度中不同装修的二手房均价分析
17.5 使用线性回归模型预测房价
17.6 本章小结
参考文献