《Python编程从小白到大牛》包括3篇,共16章。基础篇(第1~7章)包括Python概述,数据类型和变量,流程控制,数据结构,函数,模块、包和文件,以及错误、异常和调试;进阶篇(第8~11章)包括面向对象编程,进程和线程,网络编程,以及Python数据处理和数据库编程;应用篇(第12~16章)包括Web开发应用,图形界面GUI和绘图应用,科学计算与数据分析应用,深度学习应用,以及云计算和自动化运维应用。《Python编程从小白到大牛》还包括大量实战案例,通过理论和实战结合的方式帮助读者快速学习撑握Python应用。
《Python编程从小白到大牛》可作为人工智能、机器学习、人脸识别等应用领域工程技术人员的参考手册,也可作为大中专院校人工智能、大数据科学与技术、自动化、机器人工程、智能仪器仪表、机电一体化等专业及社会培训班有关Python课程的教材。
前言
基础篇
第1章Python起步
1.1Python是什么
1.2Python版本选择
1.3搭建编程环境
1.3.1配置Windows环境
1.3.2配置Linux环境
1.4【小白也要懂】Python源代码的体系架构
1.5【实战】完成第一个Python程序
1.5.1IDEs编辑器
1.5.2print()输出函数
1.5.3创建Hello_world.py文件
1.6【大牛讲坛】Python解释器详解
第2章数据类型和变量
2.1数据类型
2.1.1整数类型
2.1.2浮点数类型
2.1.3布尔类型
2.1.4复数类型
2.1.5字符串类型
2.2变量
2.2.1命名规则
2.2.2使用方法
2.3字符串和编码
2.3.1字符串
2.3.2编码
2.3.3字符串操作
2.4数字和运算符
2.4.1数和四则运算
2.4.2关于数字的内建函数
2.5列表
2.5.1List定义
2.5.2索引和切片
2.5.3反转
2.6【小白也要懂】运算符详解
2.7【实战】常用内置数据结构用法示例
2.8【大牛讲坛】从底层理解内存管理
第3章流程控制
3.1条件语句
3.1.1ifelse
3.1.2if…elif…else
3.1.3if嵌套
3.2循环语句
3.2.1while循环
3.2.2for循环
3.2.3嵌套循环
3.3循环语句中的List解析
3.4break和continue语句
3.5【小白也要懂】如何构造程序逻辑
3.6【实战】初识算法
3.7【大牛讲坛】养成良好的编码风格很重要
第4章数据结构
4.1线性数据结构
4.1.1链表
4.1.2栈
4.1.3队列
4.2非线性数据结构
4.3元组
4.3.1定义
4.3.2元组的访问
4.3.3修改tuple变量
4.4集合
4.4.1定义
4.4.2集合的基本操作
4.5字典
4.5.1定义
4.5.2字典的基本操作
4.6【小白也要懂】生成器
4.7迭代器
4.8【实战】编写一些有趣的代码
4.8.1走马灯文字
4.8.2杨辉三角
4.8.3初识排序
4.9【大牛讲坛】算法进阶,字典和集合背后的秘密
4.9.1哈希表插入数据
4.9.2哈希表查找数据
4.9.3哈希表删除数据
第5章函数
5.1什么是函数
5.1.1定义函数
5.1.2实参和形参
5.1.3返回值
5.2实参与形参之间的传递方式
5.2.1位置实参
5.2.2关键字参数
5.2.3默认参数
5.2.4可变参数
5.3局部变量和全局变量
5.4递归函数
5.5闭包
5.6【小白也要懂】函数与函数式编程的区别
5.7【实战】用Python来做数学题
5.7.1公约数和公倍数
5.7.2回文数
5.7.3素数
5.8【大牛讲坛】函数编程指南
第6章模块、包和文件
6.1模块
6.1.1什么是模块
6.1.2模块的导入
6.2包
6.2.1目录结构
6.2.2包的导入
6.3文件
6.3.1文件操作介绍
6.3.2文件的相关函数
6.4【小白也要懂】用json模块存储数据
6.5【实战】文件读写的具体应用
6.5.1读写文本数据
6.5.2打印输出至文件中
6.5.3读写二进制字节数据
6.5.4字符串的I/O操作
6.5.5读写压缩文件
6.5.6内存映射的二进制文件
6.6【大牛讲坛】大数据时代,数据组织维度
6.6.1一维数据
6.6.2二维数据
6.6.3多维数据
第7章错误、异常和调试
7.1语法错误
7.2运行时错误
7.3异常处理
7.3.1异常
7.3.2捕捉异常
7.3.3抛出异常
7.4测试
7.4.1测试基础
7.4.2文档测试
7.4.3单元测试
7.5【小白也要懂】源代码检查和性能分析
7.5.1使用PyChecker和PyLint检查源代码
7.5.2性能分析
7.6【实战】Python日志调试实践
7.7【大牛讲坛】调试程序思路
7.7.1标准库的pdb
7.7.2开源的ipdb
进阶篇
第8章面向对象编程
8.1类和对象
8.1.1类的定义
8.1.2对象实例化
8.1.3对象的方法
8.1.4类的变量
8.2面向对象编程的三大特性
8.2.1继承
8.2.2多态
8.2.3封装
8.3特殊方法和属性
8.3.1_dict_
8.3.2_slots_
8.4【小白也要懂】静态方法和类方法
8.5【实战】面向对象编程
实操
8.6【大牛讲坛】对象的内存管理
第9章进程和线程
9.1线程和进程的概念
9.1.1什么是多进程
9.1.2什么是多线程
9.2【小白也要懂】多进程与多线程
9.3多进程实践
9.3.1multiprocessing模块
9.3.2进程池
9.3.3进程间通信
9.4并行开发的高级特性
9.4.1GIL
9.4.2threading模块
9.4.3queue模块
9.4.4锁
9.5并发编程分类
9.6【实战】手把手教你创建自己的线程池
9.7【大牛讲坛】实现消息发布/订阅模型
第10章网络编程
10.1【小白也要懂】网络基础
10.1.1TCP/IP
10.1.2端口
10.1.3IP地址
10.1.4UDP协议
10.2socket网络编程
10.2.1socket模块简介
10.2.2客户端/服务器编码
10.2.3基于TCP/IP传输层协议的
socket套接字编程
10.2.4多个客户端连接通信
10.2.5UDP通信
10.3【实战】用Python发送短信和邮件
10.4【大牛讲坛】谈谈REST和RESTful
第11章Python数据处理和数据库编程
11.1【小白要也要懂】大数据时代Python的优势
11.2数据编码和处理
11.2.1读写CSV数据
11.2.2读写json数据
11.2.3解析简单的XML数据
11.2.4读写二进制数据
11.3关系型数据库
11.3.1关系型数据库入门
11.3.2基本的数据库SQL操作
11.4访问关系型数据库
11.4.1使用SQLite
11.4.2使用MySQL
11.5对象关系映射
11.6【实战】Python操作常用数据库实践
11.7【大牛讲坛】常用数据库优缺点分析
应用篇
第12章Web开发应用领域
12.1Web应用工作原理
12.2Web客户端
12.2.1urlparse模块
12.2.2urllib模块
12.3CGI介绍
12.3.1CGI模块
12.3.2CGI配置和环境变量
12.3.3CGI脚本的使用和调试
12.4【小白也要懂】Web前端简介
12.5Tornado框架
12.5.1Tornado是什么
12.5.2Tornado安装
12.5.3Hello Tornado
12.6Tornaado架构
12.6.1Web的基本框架
12.6.2与数据库的连接
12.6.3表单
12.6.4模板
12.7大用户量访问的秘密
12.7.1Tornado同步
12.7.2Tornado异步
12.8【实战】手把手教你创建Web聊天室
第13章图形界面GUI和绘图应用领域
13.1Tkinter介绍
13.2Tkinter基础知识
13.3组件介绍
13.3.1标签
13.3.2按钮
13.3.3文本框
13.3.4下拉框
13.3.5选择框
13.3.6菜单
13.4事件
13.5【实战】手把手教你开发贪吃蛇游戏
13.6Python绘图领域应用
13.6.1初级绘图
13.6.2图像、子图、坐标轴和记号
13.7【实战】手把手教你画图
第14章科学计算与数据分析应用领域
14.1为什么用Python进行数据分析
14.2利器Anaconda
14.3NumPy是什么
14.3.1初窥NumPy
14.3.2数组
14.3.3数组元素的访问和操作
14.4SciPy概述
14.4.1SciPy子模块介绍
14.4.2统计分布
14.5Pandas基本数据结构
14.5.1Series
14.5.2DataFrame
14.5.3数据处理
14.5.4聚合和分组
14.6时间序列
14.7【实战】手把手教你分析药店销售数据
14.7.1理解数据
14.7.2数据清洗
14.7.3缺失数据处理
14.7.4数据类型转换
14.7.5数据排序
14.7.6异常值处理
14.7.7构建模型
第15章深度学习应用领域
15.1谈谈数学的重要性
15.2PyTorch是什么
15.3PyTorch基础
15.3.1张量
15.3.2自动求导
15.3.3神经网络
15.3.4训练分类器
第16章云计算和自动化运维应用领域
16.1云计算时代
16.2大行其道的DevOps
16.3CMDB资产管理
16.4服务器监控
16.4.1通过脚本监控
16.4.2通过Psutil模块监控
16.4.3大型监控方案
16.5配置管理工具
16.5.1Ansible介绍
16.5.2安装和配置
16.5.3Adhoc命令
16.5.4Playbook用法
16.6持续交付