疯狂Python讲义(完整版)

AAA????girl43360934954 231 0 PDF 2019-04-03 00:04:34

第1章 Python语言概述和开发环境 1 1.1 Python简介 2 1.1.1 Python简史 2 1.1.2 Python的特点 3 1.2 Python程序运行机制 3 1.3 开发Python的准备 4 1.3.1 在Windows上安装Python 5 1.3.2 在Linux上安装Python 6 1.3.3 在Mac OS X上安装Python 7 1.4 第一个Python程序 8 1.4.1 编辑Python源程序 8 1.4.2 使用IDLE运行Python程序 8 1.4.3 使用命令行工具运行Python程序 9 1.5 交互式解释器 11 1.6 本章小结 12 本章练习 12 第2章 变量和简单类型 13 2.1 单行注释和多 行注释 14 2.2 变量 15 2.2.1 Python是弱类型语言 15 2.2.2 使用print函数输出变量 16 2.2.3 变量的命名规则 17 2.2.4 Python的关键字和内置函数 18 2.3 数值类型 19 2.3.1 整型 19 2.3.2 浮点型 21 2.3.3 复数 21 2.4 字符串入门 22 2.4.1 字符串和转义字符 22 2.4.2 拼接字符串 23 2.4.3 repr和字符串 23 2.4.4 使用input和raw_input获取用户输入 24 2.4.5 长字符串 25 2.4.6 原始字符串 26 2.4.7 字节串(bytes) 26 2.5 深入使用字符串 28 2.5.1 转义字符 28 2.5.2 字符串格式化 29 2.5.3 序列相关方法 31 2.5.4 大小写相关方法 32 2.5.5 删除空白 33 2.5.6 查找、替换相关方法 34 2.5.7 分割、连接方法 35 2.6 运算符 36 2.6.1 赋值运算符 36 2.6.2 算术运算符 37 2.6.3 位运算符 39 2.6.4 扩展后的赋值运算符 42 2.6.5 索引运算符 42 2.6.6 比较运算符与bool类型 42 2.6.7 逻辑运算符 44 2.6.8 三目运算符 45 2.6.9 in运算符 46 2.6.10 运算符的结合性和优先级 46 2.7 本章小结 47 本章练习 47 第3章 列表、元组和字典 49 3.1 序列简介 50 3.1.1 Python的序列 50 3.1.2 创建列表和元组 50 3.2 列表和元组的通用用法 51 3.2.1 通过索引使用元素 51 3.2.2 子序列 51 3.2.3 加法 52 3.2.4 乘法 52 3.2.5 in运算符 53 3.2.6 长度、最大值和最小值 53 3.2.7 序列封包和序列解包 54 3.3 使用列表 55 3.3.1 创建列表 55 3.3.2 增加列表元素 56 3.3.3 删除列表元素 57 3.3.4 修改列表元素 58 3.3.5 列表的其他常用方法 59 3.4 使用字典 61 3.4.1 字典入门 61 3.4.2 创建字典 62 3.4.3 字典的基本用法 63 3.4.4 字典的常用方法 64 3.4.5 使用字典格式化字符串 67 3.5 本章小结 67 本章练习 67 第4章 流程控制 68 4.1 顺序结构 69 4.2 if分支结构 69 4.2.1 不要忘记缩进 70 4.2.2 不要随意缩进 72 4.2.3 不要遗忘冒号 73 4.2.4 if条件的类型 73 4.2.5 if分支的逻辑错误 74 4.2.6 if表达式 75 4.2.7 pass语句 75 4.3 断言 76 4.4 循环结构 76 4.4.1 while循环 77 4.4.2 使用while循环遍历列表和元组 78 4.4.3 for-in循环 79 4.4.4 使用for-in循环遍历列表和元组 79 4.4.5 使用for-in循环遍历字典 80 4.4.6 循环使用else 81 4.4.7 嵌套循环 83 4.4.8 for表达式 84 4.4.9 常用工具函数 86 4.5 控制循环结构 87 4.6 牛刀小试 90 4.7 本章小结 98 本章练习 98 第5章 函数和lambda表达式 101 5.1 函数入门 102 5.2 函数的参数 106 5.3 局部函数 118 5.4 函数的高级内容 119 5.5 局部函数与lambda表达式 122 5.6 本章小结 124 本章练习 124 第6章 类和对象 125 6.1 类和对象 126 6.2 方法 132 6.3 成员变量 137 6.4 隐藏和封装 142 6.5 类的继承 144 6.6 Python的动态性 149 6.7 多态 153 6.8 枚举类 156 6.9 本章小结 159 本章练习 159 第7章 异常处理 160 7.1 异常概述 161 7.2 异常处理机制 162 7.3 使用raise引发异常 171 7.4 Python的异常传播轨迹 175 7.5 异常处理规则 177 7.6 本章小结 179 本章练习 179 第8章 Python类的特殊方法 180 8.1 常见的特殊方法 181 8.2 与反射有关的属性和方法 186 8.3 与序列有关的特殊方法 189 8.4 生成器 193 8.5 运算符重载的特殊方法 197 8.6 本章小结 205 本章练习 205 第9章 模块和包 206 9.1 模块化编程 207 9.2 加载模块 212 9.3 使用包 219 9.4 查看模块内容 224 9.5 本章小结 226 本章练习 226 第10章 常见模块 227 10.1 sys 228 10.2 os模块 231 10.3 random 234 10.4 time 235 10.5 JSON支持 238 10.6 正则表达式 244 10.7 容器相关类 256 10.8 collections下的容器支持 265 10.9 函数相关模块 273 10.10 本章小结 283 本章练习 283 第11章 图形界面编程 285 11.1 Python的GUI库 286 11.2 Tkinter GUI编程的组件 287 11.3 布局管理器 293 11.4 事件处理 299 11.5 Tkinter常用组件 304 11.6 对话框(Dialog) 330 11.7 菜单 342 11.8 在Canvas中绘图 349 11.9 本章小结 371 本章练习 371 第12章 文件I/O 372 12.1 使用pathlib模块操作目录 373 12.2 使用os.path操作目录 379 12.3 使用fnmatch处理文件名匹配 380 12.4 打开文件 381 12.5 读取文件 383 12.6 写文件 391 12.7 os模块的文件和目录函数 393 12.8 使用tempfile模块生成临时文件和临时目录 398 12.9 本章小结 399 本章练习 400 第13章 数据库编程 401 13.1 Python数据库API简介 402 13.2 操作SQLite数据库 404 13.3 操作MySQL数据库 417 13.4 本章小结 427 本章练习 427 第14章 并发编程 428 14.1 线程概述 429 14.2 线程的创建和启动 431 14.3 线程的生命周期 434 14.4 控制线程 438 14.5 线程同步 440 14.6 线程通信 447 14.7 线程池 454 14.8 线程相关类 458 14.9 多进程 462 14.10 本章小结 470 本章练习 470 第15章 网络编程 471 15.1 网络编程的基础知识 472 15.2 Python的基本网络支持 474 15.3 基于TCP协议的网络编程 486 15.4 基于UDP协议的网络编程 500 15.5 电子邮件支持 505 15.6 本章小结 511 本章练习 512 第16章 文档和测试 513 16.1 使用pydoc生成文档 514 16.2 软件测试概述 519 16.3 文档测试 523 16.4 单元测试 525 16.5 使用PyUnit(unittest) 529 16.6 本章小结 540 本章练习 540 第17章 打包和发布 541 17.1 使用zipapp模块 542 17.2 使用PyInstaller生成可执行程序 544 17.3 本章小结 547 本章练习 547 第18章 合金弹头 548 18.1 合金弹头游戏简介 549 18.2 pygame简介 550 18.3 开发游戏界面组件 553 18.4 增加“角色” 566 18.5 合理绘制地图 575 18.6 增加音效 577 18.7 增加游戏场景 579 18.8 本章小结 583 本章练习 583 第19章 数据可视化 584 19.1 使用Matplotlib生成数据图 585 19.2 功能丰富的数据图 597 19.3 使用Pygal生成数据图 606 19.4 Pygal支持的常见数据图 609 19.5 处理数据 617 19.6 本章小结 629 本章练习 629 第20章 网络爬虫 630 20.1 安装Scrapy 631 20.2 使用爬虫爬取、分析招聘信息 634 20.3 处理反爬虫 646 20.4 本章小结 657 本章练习 657 行注释 14 2.2 变量 15 2.2.1 Python是弱类型语言 15 2.2.2 使用print函数输出变量 16 2.2.3 变量的命名规则 17 2.2.4 Python的关键字和内置函数 18 2.3 数值类型 19 2.3.1 整型 19 2.3.2 浮点型 21 2.3.3 复数 21 2.4 字符串入门 22 2.4.1 字符串和转义字符 22 2.4.2 拼接字符串 23 2.4.3 repr和字符串 23 2.4.4 使用input和raw_input获取用户输入 24 2.4.5 长字符串 25 2.4.6 原始字符串 26 2.4.7 字节串(bytes) 26 2.5 深入使用字符串 28 2.5.1 转义字符 28 2.5.2 字符串格式化 29 2.5.3 序列相关方法 31 2.5.4 大小写相关方法 32 2.5.5 删除空白 33 2.5.6 查找、替换相关方法 34 2.5.7 分割、连接方法 35 2.6 运算符 36 2.6.1 赋值运算符 36 2.6.2 算术运算符 37 2.6.3 位运算符 39 2.6.4 扩展后的赋值运算符 42 2.6.5 索引运算符 42 2.6.6 比较运算符与bool类型 42 2.6.7 逻辑运算符 44 2.6.8 三目运算符 45 2.6.9 in运算符 46 2.6.10 运算符的结合性和优先级 46 2.7 本章小结 47 本章练习 47 第3章 列表、元组和字典 49 3.1 序列简介 50 3.1.1 Python的序列 50 3.1.2 创建列表和元组 50 3.2 列表和元组的通用用法 51 3.2.1 通过索引使用元素 51 3.2.2 子序列 51 3.2.3 加法 52 3.2.4 乘法 52 3.2.5 in运算符 53 3.2.6 长度、最大值和最小值 53 3.2.7 序列封包和序列解包 54 3.3 使用列表 55 3.3.1 创建列表 55 3.3.2 增加列表元素 56 3.3.3 删除列表元素 57 3.3.4 修改列表元素 58 3.3.5 列表的其他常用方法 59 3.4 使用字典 61 3.4.1 字典入门 61 3.4.2 创建字典 62 3.4.3 字典的基本用法 63 3.4.4 字典的常用方法 64 3.4.5 使用字典格式化字符串 67 3.5 本章小结 67 本章练习 67 第4章 流程控制 68 4.1 顺序结构 69 4.2 if分支结构 69 4.2.1 不要忘记缩进 70 4.2.2 不要随意缩进 72 4.2.3 不要遗忘冒号 73 4.2.4 if条件的类型 73 4.2.5 if分支的逻辑错误 74 4.2.6 if表达式 75 4.2.7 pass语句 75 4.3 断言 76 4.4 循环结构 76 4.4.1 while循环 77 4.4.2 使用while循环遍历列表和元组 78 4.4.3 for-in循环 79 4.4.4 使用for-in循环遍历列表和元组 79 4.4.5 使用for-in循环遍历字典 80 4.4.6 循环使用else 81 4.4.7 嵌套循环 83 4.4.8 for表达式 84 4.4.9 常用工具函数 86 4.5 控制循环结构 87 4.6 牛刀小试 90 4.7 本章小结 98 本章练习 98 第5章 函数和lambda表达式 101 5.1 函数入门 102 5.2 函数的参数 106 5.3 局部函数 118 5.4 函数的高级内容 119 5.5 局部函数与lambda表达式 122 5.6 本章小结 124 本章练习 124 第6章 类和对象 125 6.1 类和对象 126 6.2 方法 132 6.3 成员变量 137 6.4 隐藏和封装 142 6.5 类的继承 144 6.6 Python的动态性 149 6.7 多态 153 6.8 枚举类 156 6.9 本章小结 159 本章练习 159 第7章 异常处理 160 7.1 异常概述 161 7.2 异常处理机制 162 7.3 使用raise引发异常 171 7.4 Python的异常传播轨迹 175 7.5 异常处理规则 177 7.6 本章小结 179 本章练习 179 第8章 Python类的特殊方法 180 8.1 常见的特殊方法 181 8.2 与反射有关的属性和方法 186 8.3 与序列有关的特殊方法 189 8.4 生成器 193 8.5 运算符重载的特殊方法 197 8.6 本章小结 205 本章练习 205 第9章 模块和包 206 9.1 模块化编程 207 9.2 加载模块 212 9.3 使用包 219 9.4 查看模块内容 224 9.5 本章小结 226 本章练习 226 第10章 常见模块 227 10.1 sys 228 10.2 os模块 231 10.3 random 234 10.4 time 235 10.5 JSON支持 238 10.6 正则表达式 244 10.7 容器相关类 256 10.8 collections下的容器支持 265 10.9 函数相关模块 273 10.10 本章小结 283 本章练习 283 第11章 图形界面编程 285 11.1 Python的GUI库 286 11.2 Tkinter GUI编程的组件 287 11.3 布局管理器 293 11.4 事件处理 299 11.5 Tkinter常用组件 304 11.6 对话框(Dialog) 330 11.7 菜单 342 11.8 在Canvas中绘图 349 11.9 本章小结 371 本章练习 371 第12章 文件I/O 372 12.1 使用pathlib模块操作目录 373 12.2 使用os.path操作目录 379 12.3 使用fnmatch处理文件名匹配 380 12.4 打开文件 381 12.5 读取文件 383 12.6 写文件 391 12.7 os模块的文件和目录函数 393 12.8 使用tempfile模块生成临时文件和临时目录 398 12.9 本章小结 399 本章练习 400 第13章 数据库编程 401 13.1 Python数据库API简介 402 13.2 操作SQLite数据库 404 13.3 操作MySQL数据库 417 13.4 本章小结 427 本章练习 427 第14章 并发编程 428 14.1 线程概述 429 14.2 线程的创建和启动 431 14.3 线程的生命周期 434 14.4 控制线程 438 14.5 线程同步 440 14.6 线程通信 447 14.7 线程池 454 14.8 线程相关类 458 14.9 多进程 462 14.10 本章小结 470 本章练习 470 第15章 网络编程 471 15.1 网络编程的基础知识 472 15.2 Python的基本网络支持 474 15.3 基于TCP协议的网络编程 486 15.4 基于UDP协议的网络编程 500 15.5 电子邮件支持 505 15.6 本章小结 511 本章练习 512 第16章 文档和测试 513 16.1 使用pydoc生成文档 514 16.2 软件测试概述 519 16.3 文档测试 523 16.4 单元测试 525 16.5 使用PyUnit(unittest) 529 16.6 本章小结 540 本章练习 540 第17章 打包和发布 541 17.1 使用zipapp模块 542 17.2 使用PyInstaller生成可执行程序 544 17.3 本章小结 547 本章练习 547 第18章 合金弹头 548 18.1 合金弹头游戏简介 549 18.2 pygame简介 550 18.3 开发游戏界面组件 553 18.4 增加“角色” 566 18.5 合理绘制地图 575 18.6 增加音效 577 18.7 增加游戏场景 579 18.8 本章小结 583 本章练习 583 第19章 数据可视化 584 19.1 使用Matplotlib生成数据图 585 19.2 功能丰富的数据图 597 19.3 使用Pygal生成数据图 606 19.4 Pygal支持的常见数据图 609 19.5 处理数据 617 19.6 本章小结 629 本章练习 629 第20章 网络爬虫 630 20.1 安装Scrapy 631 20.2 使用爬虫爬取、分析招聘信息 634 20.3 处理反爬虫 646 20.4 本章小结 657 本章练习 657

用户评论
请输入评论内容
评分:
暂无评论