书籍 Python学习笔记  从入门到实战的封面

Python学习笔记 从入门到实战PDF电子书下载

张学建编著

购买点数

20

出版社

出版时间

2019

ISBN

标注页数

0 页

PDF页数

485 页

图书目录

第1章 Python语言基础 1

1.1 Python语言横空出世 1

1.1.1编程世界的“琅琊榜” 1

1.1.2 Python语言的突出优势 2

1.1.3 Python语言的特点 2

1.2安装Python运行环境 3

1.2.1选择版本 3

1.2.2在Windows系统中下载并安装Python 4

1.2.3在MacOS系统中下载并安装Python 5

1.2.4在Linux系统中下载并安装Python 6

1.3使用IDLE开发Python程序 7

1.3.1 IDLE介绍 7

1.3.2使用IDLE开发第一个Python程序 8

实例1-1:输出显示一段文本信息 8

1.4使用PyCharm开发Python程序 10

1.4.1下载、安装并设置PyCharm 10

1.4.2使用PyCharm创建并运行一个Python程序 13

实例1-2:输出显示“Hello我们是TFBOYS组合!” 13

1.4.3 PyCharm常用功能介绍 16

第2章 Python基础语法 18

2.1独一无二缩进规则 18

2.1.1 Python缩进的严格要求 18

2.1.2一段使用缩进的Python程序 19

实例2-1:输出显示“Hello,欢迎来到Python世界!” 19

2.2注释是个好帮手 20

实例2-2:Python注释的演示使用 21

2.3编码要用心学好 21

2.3.1字符编码 21

2.3.2 Unicode编码和UTF-8编码 22

2.3.3 Python中的编码 23

2.4标识符和关键字 24

2.5变量就是一个存储空间 25

实例2-3:打印变量的值 26

实例2-4:同时给多个变量赋值 26

2.6输入和输出 27

2.6.1输入信息 27

实例2-5:获取用户输入的内容 27

2.6.2输出信息 27

实例2-6:使用函数print()输出信息 28

2.7字符串 29

2.7.1 Python字符串基础 29

2.7.2获取字符串中的值 30

实例2-7:打印输出字符串中的值 30

2.7.3修改字符串 30

实例2-8:修改字符串中的某个值 30

2.7.4使用转义字符 31

实例2-9:打印带有转义字符的内容 31

2.7.5格式化显示字符串 32

实例2-10:打印不同格式的字符串 32

2.7.6使用字符串处理函数 32

实例2-11:打印不同格式的“I love you” 33

2.8数字类型 34

2.8.1整数类型:int 34

2.8.2浮点型 34

2.8.3布尔型 35

2.8.4复数型 36

实例2-12:获取并显示各个变量的类型 36

2.9数字类型转换 36

2.9.1内置类型转换函数 37

实例2-13:使用函数int()实现整型转换 37

2.9.2类型转换综合演练 37

实例2-14:实现各种常见类型转换操作 38

第3章 运算符和表达式 39

3.1运算符和表达式介绍 39

3.2算术运算符和算术表达式 40

实例3-1:使用算术运算符解答简单数学题 40

3.3比较运算符和比较表达式 41

3.3.1比较运算符和比较表达式介绍 41

3.3.2使用比较运算符和比较表达式 41

实例3-2:比较两个整数 41

3.4赋值运算符和赋值表达式 42

3.4.1基本赋值运算符和表达式 42

实例3-3:新赛季勇士的场均目标得分和场均三分得分 42

3.4.2复合赋值运算符和表达式 43

实例3-4:对两个整数进行赋值处理 43

3.5位运算符和位表达式 44

3.5.1位运算符和位表达式介绍 44

3.5.2使用位运算符和位表达式 45

实例3-5:对整数进行位运算操作 45

3.6逻辑运算符和逻辑表达式 45

3.6.1逻辑运算符和逻辑表达式介绍 46

3.6.2使用逻辑运算符和逻辑表达式 46

实例3-6:对两个整数进行逻辑运算操作 46

3.7成员运算符和成员表达式 47

3.7.1成员运算符和成员表达式介绍 47

3.7.2使用成员运算符和成员表达式 47

实例3-7:判断某整数是否属于列表成员 47

3.8身份运算符和身份表达式 48

3.8.1身份运算符和身份表达式介绍 48

3.8.2使用身份运算符和身份表达式 48

实例3-8:判断a和b是否有相同的标识 48

3.9运算符的优先级 49

3.9.1 Python运算符的优先级介绍 49

3.9.2使用Python运算符的优先级 50

实例3-9:组合使用运算符 50

第4章 列表、元组和字典 51

4.1列表是最基本的数据结构 51

4.1.1列表的基本用法 51

实例4-1:创建一个名为girl的简单列表 51

实例4-2:创建了一个包含3个数字的列表 52

实例4-3:访问并显示列表中元素的值 52

实例4-4:使用列表中的值创建信息 53

4.1.2更新(修改)列表中的元素 53

实例4-5:修改girl列表中某个元素的值(“美丽”修改为“妖艳”) 53

4.1.3插入新的元素 53

实例4-6:使用方法insert()在girl列表中添加一个新元素(温柔) 54

4.1.4在列表中删除元素 54

实例4-7:使用del语句删除girl列表中的某个元素(美丽) 54

实例4-8:使用方法pop()删除girl列表中某个元素(端庄) 55

4.1.5列表排列 55

实例4-9:让列表girl中的元素按字母顺序排 55

实例4-10:使用方法sorted()排列列表c中的元素 56

4.1.6列表的高级操作 56

实例4-11:创建列表L并实现截取与拼接操作 57

实例4-12:创建3个列表并实现嵌套功能 57

4.2元组是一种特殊的列表 58

4.2.1创建并访问元组 58

实例4-13:创建两个元组(tup1,tup2)并访问显示元组元素 58

4.2.2修改元组 59

实例4-14:连接组合两个元组中的值并输出新元组 59

4.2.3删除元组 59

实例4-15:创新元组tup后删除整个元组 59

4.2.4使用内置方法操作元组 59

实例4-16:打印元组中的元素 60

4.2.5将序列分解为单独的变量 60

实例4-17:分解元组中的元素 60

4.3字典:成员以“键:值”对形式存在的数据类型 61

4.3.1创建并访问字典 61

实例4-18:创建字典dict并获取字典中3个键的值 62

4.3.2向字典中添加数据 62

实例4-19:创建字典dict并向其中添加两个数据 62

4.3.3修改字典 63

实例4-20:修改字典dict中Age元素的值 63

4.3.4删除字典中的元素 63

实例4-21:删除字典dict中的Name元素 63

4.3.5和字典有关的内置函数 63

实例4-22:输出字典diet中校花的基本资料 64

4.3.6遍历字典 64

实例4-23:返回一个字典中的所有键 64

实例4-24:使用方法values()遍历字典中的所有值 65

4.4集合是一个无序不重复元素的序列 65

实例4-25:创建集合student并实现各种操作 65

第5章 流程控制语句 67

5.1条件语句:是与不是 67

5.1.1条件语句介绍 67

5.1.2最简单的if语句 68

实例5-1:使用if语句判断所能承受的车票价格 68

5.1.3使用if…else语句 68

实例5-2:使用if…else语句判断所能承受的酒店价格 69

5.1.4使用if…elif…else语句 69

实例5-3:酒店入住体验打分系统 70

5.1.5 if语句的嵌套 70

实例5-4:判断一个数字的大小是否合适 70

5.1.6实现switch语句的功能 71

实例5-5:使用elif实现其他语言中的switch功能 72

实例5-6:用字典实现其他语言中的switch功能 73

5.2 for循环语句:全部走一遍 73

5.2.1基本的for循环语句 73

实例5-7:使用for循环语句输出英文单词的字母 74

5.2.2通过序列索引迭代 75

实例5-8:循环输出了列表fruits中的元素 75

5.2.3使用for…else循环语句 75

实例5-9:判断是否是质数(10~20之间的数字) 76

5.2.4嵌套for循环语句 76

实例5-10:获取两个整数之间的所有素数 76

5.3 while循环语句:不知道重复多少次 77

5.3.1基本的while循环语句 77

实例5-11:使用while循环语句显示小鸟的假期 78

5.3.2使用while…else循环语句 78

实例5-12:设置到5停止循环 79

5.3.3死循环问题 79

实例5-13:使用while循环时的死循环问题 79

5.3.4使用while循环嵌套语句 80

实例5-14:输出0到100之内的素数 80

5.4循环控制语句:处理突发事件 81

5.4.1使用break语句 81

实例5-15:使用break停止循环 82

5.4.2使用continue语句 82

实例5-16:循环输出字母和数字 82

5.4.3使用pass语句 83

实例5-17:输出指定字符串python中的每个英文字母 83

第6章 函数 85

6.1函数就是某个指定功能的语句 85

6.1.1定义函数 85

实例6-1:定义了一个基本的输出信息函数 86

6.1.2调用函数 86

实例6-2:定义表调用函数,计算元组内元素的和 86

6.2函数的参数 87

6.2.1形参和实参 87

6.2.2必需参数 87

实例6-3:一个错误用法 88

6.2.3关键字参数 88

实例6-4:打印网友的信息 88

实例6-5:在使用函数参数时不需要指定顺序 88

6.2.4默认参数 89

实例6-6:打印两个好友的信息 89

6.2.5不定长参数 89

实例6-7:在同一个函数中分别使用一个参数和三个参数 90

6.2.6按值传递参数和按引用传递参数 90

实例6-8:函数的参数是一个列表 90

6.3函数的返回值 91

6.3.1返回一个简单值 91

实例6-9:定义函数get_name()并通过形参返回一个简单的值 91

6.3.2可选实参 91

实例6-10:让实参变成一个可选参数 91

6.3.3返回一个字典 92

实例6-11:定义函数person()并让其返回值是一个字典 92

6.4变量的作用域 93

6.4.1三种变量作用域 93

6.4.2使用变量作用域 93

实例6-12:使用相互不影响的同名变量 93

实例6-13:使用关键字global在函数内部使用全局变量 94

6.5使用函数传递列表 94

6.5.1访问列表中的元素 94

实例6-14:定义函数users()并问候列表中的每个好友 94

6.5.2在函数中修改列表 95

实例6-15:定义函数copy()并复制好友到“亲人”分组 95

6.6 lambda来创建和使用匿名函数 96

6.6.1匿名函数介绍 96

6.6.2使用匿名函数 96

实例6-16:使用lambda创建匿名函数sum()并输出恋爱前后的幸福指数值 96

6.7函数和模块开发 97

6.7.1导入整个模块文件 97

实例6-17:导入模块文件的全部内容 97

6.7.2只导入指定的函数 98

实例6-18:导入模块文件中的某个函数 98

6.7.3使用as设置函数的别名 98

实例6-19:给函数设置一个别名 99

6.7.4使用as设置模块别名 99

实例6-20:给模块设置一个别名 99

6.7.5导入所有函数 99

实例6-21:使用“*”运算符导入外部模块文件中所有函数 100

第7章 面向对象编程技术 101

7.1面向对象基础 101

7.1.1 Python的面向对象编程 101

7.1.2 Python面向对象的几个核心概念 102

7.2定义并使用类 103

7.2.1定义一个类 103

7.2.2类的基本用法 104

实例7-1:财产分配说明书 104

7.3对象 104

实例7-2:使用类的对象 105

7.4方法 105

7.4.1定义并使用类方法 105

实例7-3:调用类方法打印信息 105

7.4.2构造方法 106

实例7-4:使用构造方法打印信息 106

实例7-5:霍老二的宠物狗 107

7.4.3方法调用 108

实例7-6:在类中调用类的自身方法和全局函数 108

7.4.4创建多个实例 108

实例7-7:创建多个不同的对象实例 109

7.4.5使用私有方法 109

实例7-8:打印网店的地址 110

7.4.6析构方法 110

实例7-9:打印三种客户类型信息 110

7.4.7静态方法和类方法 111

实例7-10:同时使用类方法和静态方法 111

7.4.8类的专有方法 112

7.5属性 112

7.5.1认识属性 113

7.5.2类属性和实例属性 113

实例7-11:改变变量的值 114

7.5.3设置属性的默认值 115

实例7-12:设置汽车的属性信息 115

7.5.4修改属性的值 116

实例7-13:通过实例修改霍老板新车的行驶里程 116

实例7-14:通过自定义方法修改霍老板新车行驶里程的方法 117

实例7-15:通过递增值修改霍老板新车的行驶里程 117

7.5.5使用私有属性 118

实例7-16:打印私有属性的值 118

7.6继承 118

7.6.1定义子类 118

实例7-17:霍老二的一辆豆腐车 119

7.6.2在子类中定义方法和属性 120

实例7-18:豆腐车的发动机参数 120

7.6.3子类可以继续派生新类 121

实例7-19:豆腐车的升级版 121

7.6.4私有属性和私有方法 122

实例7-20:不能相互访问私有变量 122

7.6.5多重继承 122

实例7-21:3个子类的多重继承 123

7.7方法重写 124

实例7-22:通过重写修改方法的功能 124

第8章 模块、包和迭代器 126

8.1模块架构 126

8.1.1最基本的模块调用 126

实例8-1:在程序中调用外部模块文件 126

实例8-2:外部模块文件和测试文件不在同一个目录 127

8.1.2目录“_pycache_” 128

实例8-3:编译指定的文件 128

8.1.3使用“_name_”属性 129

实例8-4:测试模块是否能正常运行 129

8.2包是管理程序模块的形式 130

8.2.1表示包 130

8.2.2创建并使用包 131

8.2.3创建并使用包 132

实例8-5:创建并使用包输出指定的内容 132

8.3迭代器:简化代码并节约内存 133

8.3.1什么是迭代器 133

实例8-6:使用for循环语句遍历迭代器 133

8.3.2创建并使用迭代器 134

实例8-7:打印迭代的元素 134

8.3.3使用内置迭代器协议方法iter() 134

实例8-8:显示迭代器中的数据元素 135

第9章 生成器、装饰器和闭包 136

9.1生成器:边循环边计算 136

9.1.1生成器的运行机制 136

实例9-1:使用yield生成器显示奥运会金牌榜的变化 137

9.1.2创建生成器 137

实例9-2:创建一个递减序列生成器 137

9.1.3生成器的第一次调用 139

实例9-3:重新初始化生成器生成初始值 139

9.1.4使用协程重置生成器序列 139

实例9-4:使用方法send()重置生成器的序列 139

9.2装饰器:拓展函数功能 140

9.2.1创建装饰器 140

9.2.2使用装饰器修饰函数 141

实例9-5:比较装饰器函数和非装饰器函数 141

实例9-6:比较调用前后的执行结果 142

9.2.3使用装饰器修饰类 142

实例9-7:打印x、y、z的坐标 142

9.3命名空间:存储变量与值对应关系的字典 143

9.3.1命名空间的本质 143

实例9-8:函数与其全局命名空间 144

9.3.2查找命名空间 145

实例9-9:查找嵌套函数命名空间 145

9.3.3命名空间的生命周期 146

9.3.4命名空间访问函数locals()与globals() 146

实例9-10:使用内置函数locals()访问局部命名空间 146

实例9-11:使用函数globals()访问全局命名空间 147

实例9-12:同时使用内置函数locals与globals,并分析三者区别 147

9.4闭包:函数和引用环境组合而成的实体 148

9.4.1什么是闭包 148

实例9-13:打印教练的信息 148

9.4.2闭包和嵌套函数 149

实例9-14:使用被嵌套函数中的变量 149

9.4.3使用闭包记录函数被调用的次数 150

实例9-15:统计调用函数的次数 150

第10章 文件操作处理 151

10.1文件操作基础 151

10.2使用File操作文件 152

10.2.1 File对象介绍 152

实例10-1:打开一个文件并查看其属性 153

10.2.2使用close()方法关闭操作 153

实例10-2:打开和关闭一个记事本文件 154

10.2.3使用方法flush() 154

实例10-3:使用flush()方法刷新缓冲区 154

10.2.4使用方法fileno() 154

实例10-4:使用方法fileno()返回文件描述符 154

10.2.5使用方法isatty() 155

实例10-5检测某文件是否连接到一个终端设备 155

10.2.6使用方法next() 155

实例10-6:返回文件各行内容 156

10.2.7使用方法read() 156

实例10-7:读取文件中3个字节的内容 156

10.3使用OS对象 157

10.3.1 OS对象介绍 157

10.3.2使用方法access() 159

实例10-8:获取指定文件的操作权限 159

10.3.3使用方法chdir() 160

实例10-9:修改当前工作目录到指定路径 160

10.3.4使用方法chmod() 160

实例10-10:修改指定文件或目录权限 161

10.3.5打开、写入和关闭 161

实例10-11:创建并打开文件“456.txt”,然后实现文件的打开、写入和关闭操作 162

10.3.6打开、读取和关闭 163

实例10-12:读取文件中的指定字符 163

10.3.7创建目录 163

实例10-13:使用方法mkdir()创建一个目录“top” 164

实例10-14:使用方法makedirs()创建一个目录“tmp/home/123” 164

第11章 标准库函数 166

11.1字符串处理函数 166

11.1.1分割字符串 166

实例11-1:使用函数split()分割指定的字符串 166

实例11-2:使用函数re.split()分割指定字符串 167

11.1.2字符串开头和结尾处理 167

实例11-3:使用函数startswith()和endswith()处理指定字符串 168

11.1.3实现字符串匹配处理 168

实例11-4:匹配处理各种类型的字符 169

11.1.4文本模式匹配和查找 170

实例11-5:查找字符串中字符 170

11.1.5文本查找和替换 170

实例11-6:使用函数replace()替换文本 170

11.1.6实现最短文本匹配 171

实例11-7:使用正则表达式实现最短文本匹配 171

11.1.7处理Unicode文本 171

实例11-8:Unicode字符串的代码点序列表示方法 171

实例11-9:使用函数normalize()归一化Unicode字符串 172

11.1.8删除字符串中的字符 172

实例11-10:删除字符串中的指定的内容 173

11.1.9字符过滤和清理 174

实例11-11:删除空格和Unicode组合字符 174

11.1.10字符串对齐处理 175

实例11-12:按照指定格式对齐字符串 176

11.1.11字符串连接和合并 176

实例11-13:合并给出的多个字符串 176

11.2数字处理函数 177

11.2.1使用math模块实现数学运算 178

实例11-14:使用函数abs()返回数字绝对值 178

实例11-15:使用函数ceil()返回最小整数值 178

实例11-16:使用两种格式的pow()函数 180

实例11-17:计算指定数字四舍五入值 180

11.2.2使用decimal模块实现精确运算 181

实例11-18:分别实现误差运算和精确运算 181

11.2.3处理二进制、八进制和十六进制数据 182

实例11-19:将一个整数转换为二进制、八进制或十六进制 182

11.2.4实现复数运算 183

实例11-20:操作处理复数数据 183

11.2.5使用fractions模块处理分数 184

实例11-21:对分数进行各种运算处理 185

11.2.6使用NumPy模块 185

实例11-22:创建一维数组和二维数组 185

11.3日期和时间函数 186

11.3.1使用时间模块 186

实例11-23:使用函数time.clock()实现时间处理 186

实例11-24:使用函数mktime(tupletime)实现时间操作 187

实例11-25:使用函数time.tzset()格式化显示时间 188

11.3.2使用Calendar日历模块 189

实例11-26:使用calendar模块函数显示日历 190

11.3.3使用datetime模块 191

实例11-27:使用类date打印系统日期信息 192

实例11-28:使用类date打印不同格式的日期 193

实例11-29:使用类time打印时间信息 194

实例11-30:使用类datetime打印系统时间信息 195

第12章 异常处理 196

12.1语法错误 196

实例12-1:代码拼写错误的执行输出 196

12.2常见异常处理方式 197

12.2.1异常的特殊之处 197

12.2.2使用“try…except”处理异常 198

实例12-2:处理变量错误 199

实例12-3一个try语句包含多个except子句的异常处理 199

12.2.3使用“try…excep…else”处理异常 199

实例12-4:处理索引异常 200

12.2.4使用“try…except…finally”语句 201

实例12-5:使用finally确保使用文件后能关闭这个文件 201

12.3抛出异常 202

12.3.1使用raise抛出异常 202

实例12-6:抛出错误异常 202

12.3.2使用assert语句抛出异常 203

实例12-7:抛出循环错误异常 203

12.3.3自定义异常 203

实例12-8:自己编写一个异常类 204

12.4内置异常类 204

12.4.1处理ZeroDivisionError异常 205

实例12-9:解决ZeroDivisionError类型的异常 205

12.4.2 FileNotFoundError异常 206

实例12-10:解决FileNotFoundError类型的异常 206

12.4.3使用except捕获异常 207

实例12-11:捕获程序中的所有异常 207

12.4.4逻辑错误的程序测试 207

实例12-12:使用函数testmod()实现单元测试 208

实例12-13:使用函数testfile()进行单元测试(测试案例不写在程序文件中) 209

第13章 正则表达式 210

13.1基本语法表达 210

13.1.1普通字符 210

13.1.2非打印字符 211

13.1.3特殊字符 211

13.1.4使用小括号指定分组 215

13.1.5限定符 215

13.1.6定位符 216

13.1.7限定范围和否定 217

13.1.8运算符优先级 218

13.1.9扩展表示法 218

13.2使用re模块 218

13.2.1 re模块库函数介绍 219

13.2.2使用compile()函数编译正则表达式 219

实例13-1:将正则表达式的字符串形式编译为Pattern实例 220

13.2.3使用函数match()匹配正则表达式 220

实例13-2:匹配无人驾驶网站的网址 221

实例13-3:验证邮箱地址 222

13.2.4使用函数search()扫描字符串并返回成功的匹配 222

实例13-4:使用函数search()扫描无人驾驶网址并返回结果 223

13.2.5使用函数findall()查找并返回符合的字符串 223

实例13-5:匹配操作字符串中的内容 223

13.2.6使用搜索替换函数sub()和subn() 224

实例13-6:用函数sub()替换字符串中的字母 224

13.2.7使用分割函数split() 225

实例13-7:使用函数split()分割指定字符串 225

13.2.8使用扩展符号 225

实例13-8:使用扩展符号对字符串进行扩展处理 226

13.3使用Pattern对象 226

实例13-9:使用函数compile()处理字符串 227

第14章 开发网络程序 228

14.1网络开发基础 228

14.1.1 OSI七层网络模型 228

14.1.2 TCP/IP协议 229

14.2 Socket套接字编程 230

14.2.1库Socket内置函数和属性 230

实例14-1:创建socket服务器端和客户端 231

14.2.2对象Socket的内置函数和属性 231

14.2.3使用socket建立TCP“客户端/服务器”连接 233

实例14-2:一个简易TCP聊天程序 233

14.2.4使用socket建立UDP“客户端/服务器”连接 235

实例14-3:一个简易UDP聊天程序 235

14.3 socketserver编程 236

14.3.1 socketserver模块基础 236

14.3.2使用socketserver创建TCP“客户端/服务器”程序 238

实例14-4:使用socketserver开发一个聊天程序 238

14.3.3使用ThreadingTCPServer创建“客户端/服务器”通信程序 239

实例14-5:使用ThreadingTCPServer创建一个聊天程序 239

14.4使用select模块实现多路I/O复用 240

14.4.1 select模块介绍 240

实例146:使用select同时监听多个端口 241

14.4.2 I/O多路复用并实现读写分离 242

实例14-7:使用select模拟多线程并实现读写分离 242

14.5使用urllib包 243

14.5.1 urllib包介绍 243

14.5.2使用urllib.request模块 244

实例14-8:在百度搜索关键词中得到第一页链接 245

14.5.3使用urllib.parse模块 245

实例14-9:实现HTTP身份验证 246

14.6使用http包 247

14.6.1使用http.client模块 248

14.6.2使用HTTPConnection对象访问指定网站 250

实例14-10:跑男A访问百度 250

14.7收发电子邮件 251

14.7.1开发POP3邮件程序 251

实例14-11:获取指定邮件中的最新两封邮件的主题和发件人信息 253

14.7.2开发SMTP邮件程序 254

实例14-12:使用SMTP协议发送邮件 254

14.7.3使用库email开发邮件程序 255

实例14-13:发送带附件功能邮件 255

14.8开发FTP文件传输程序 256

14.8.1 Python和FTP 256

14.8.2创建一个FTP文件传输客户端 257

实例14-14:开发一个简单的FTP文件传输系统 257

第15章 多线程开发 259

15.1线程和进程介绍 259

15.2使用threading模块 260

15.2.1 threading模块的核心方法 260

15.2.2使用Thread对象 260

实例15-1:在线程中运行一个函数 261

15.2.3使用Lock和RLock对象 262

实例15-2:使用RLock实现线程同步 262

实例15-3:使用Lock对临界区加锁 263

15.2.4使用Condition对象 264

实例15-4:捉迷藏游戏 264

15.2.5使用Semaphore和BoundedSemaphore对象 265

实例15-5:使用Semaphore对象运行4个线程 266

实例15-6:使用BoundedSemaphore对象运行4个线程 267

15.2.6使用Event对象 268

实例15-7:使用Event对象实现线程同步 268

15.2.7使用Timer对象 269

实例15-8:设置线程在延迟5秒后执行 269

15.2.8使用local对象 269

实例15-9:管理线程局部数据 269

15.3使用进程库multiprocessing 270

15.3.1 threading和multiprocessing的关系 270

15.3.2使用Process 270

实例15-10:使用Process对象生成进程 271

15.3.3使用Pipes和Queues对象 272

实例15-11:使用Pipe对象创建双向管道 272

15.3.4使用Connection对象 273

实例15-12:使用Connection对象处理数据 273

15.3.5使用共享对象Shared 273

实例15-13:创建共享ctypes对象 274

15.3.6 使用Manager对象 275

实例15-14:使用Manager对象操作list列表 275

15.4使用线程优先级队列模块queue 276

15.4.1模块queue中的常用方法 276

实例15-15:在线程之间实现数据通信 277

15.4.2基本FIFO队列 278

实例15-16:实现先进先出队列 278

15.4.3 LIFO队列 279

实例15-17:实现后进先出队列 279

15.4.4优先级队列 279

实例15-18:使用模块queue实现优先级队列 279

15.5使用模块subprocess创建进程 280

15.5.1全新的run()方法 280

15.5.2旧版本中的高级API 280

实例15-19:使用模块subprocess创建子进程 281

第16章 Tkinter图形化界面开发 283

16.1 Tkinter开发基础 283

16.1.1第一个tkinter程序 283

实例16-1:创建第一个GUI程序 283

16.1.2向窗体中添加组件 284

实例16-2:向窗体中添加文本和按钮 284

16.2 tkinter组件开发 285

16.2.1 tkinter组件概览 285

实例16-3:使用Frame布局窗体界面 286

16.2.2使用按钮控件 287

实例16-4:生成一个购物窗口并向其中添加4个按钮 287

16.2.3使用文本框控件 288

实例16-5:创建各种样式的文本框 289

16.2.4使用菜单控件 290

实例16-6:模拟实现记事本菜单 290

16.2.5使用标签控件 290

实例16-7:生成一个主窗口并在其中创建4个类型的标签 291

16.2.6使用单选按钮和复选按钮控件 292

实例16-8:生成一个主窗口并创建单选框和复选框 293

16.3开发tkinter事件处理程序 294

16.3.1 tkinter事件基础 294

实例16-9:创建一个“英尺/米”转换器 296

16.3.2动态绘图程序 297

实例16-10:简易绘图板 298

16.4实现对话框功能 300

16.4.1创建消息框 300

实例16-11:实现文本对话框效果 300

16.4.2创建输入对话框 302

实例16-12:创建可以输入内容的对话框 302

16.4.3创建文件打开/保存对话框 303

实例16-13:打开、保存指定的文件 303

16.4.4创建颜色选择对话框 304

实例16-14:颜色选择笔 304

16.4.5创建自定义对话框 304

实例16-15:创建两个指定样式的对话框 305

第17章 开发数据库程序 307

17.1操作SQLite3数据库 307

17.1.1 sqlite3模块介绍 307

实例17-1:执行指定SQL语句 308

实例17-2:使用方法cursor.executemany()执行SQL命令 308

实例17-3:同时执行多个SQL语句 309

实例17-4:生成SQLite shell命令 310

17.1.2使用sqlite3模块操作SQLite3数据库 311

实例17-5:在SQLite3数据库中创建表、添加/删除数据 311

17.1.3 SQLite和Python的类型 313

实例17-6:将自定义类Point适配SQLite3数据库 314

实例17-7:注册适配器函数 314

实例17-8:让sqlite3知道从数据库中实际选择的是一个点 315

17.1.4事物控制 316

实例17-9:开启智能commit功能 316

17.2操作MySQL数据库 317

17.2.1搭建PyMySQL环境 317

17.2.2实现数据库连接 318

实例17-10:显示PyMySQL数据库版本号 318

17.2.3创建数据库表 319

实例17-11:使用方法execute()创建一个新数据库表employee 319

17.2.4数据库插入操作 319

实例17-12:向数据库表中添加新的数据 319

17.2.5数据库查询操作 320

实例17-13:查询并显示工资大于1000的所有员工 320

17.2.6数据库更新操作 321

实例17-14:将数据库表中某个字段的值递增加1 321

17.2.7数据库删除操作 322

实例17-15:删除表中所有年龄大于20的数据 322

17.2.8执行事务 322

实例17-16:删除表中所有年龄大于19的数据 322

17.3使用MariaDB数据库 323

17.3.1搭建MariaDB数据库环境 323

17.3.2在Python程序中使用MariaDB数据库 326

实例17-17:连接MariaDB数据库并添加、查询数据 326

17.4使用适配器 327

实例17-18:访问MySQL、Gadfly和SQLite三种数据库 328

17.5使用ORM(对象关系映射)操作数据库 332

17.5.1 Python和ORM 332

17.5.2使用SQLAlchemy 332

实例17-19:使用SQLAlchemy分别操作MySQL和SQLite数据库 333

17.5.3使用mongoengine 335

实例17-20:使用mongoengine操作MongoDB数据库数据 336

第18章 使用Pygame开发游戏 338

18.1安装Pygame 338

18.2 Pygame开发基础 339

18.2.1 Pygame框架中的模块 339

实例18-1:使用Pygame开发一个简易飞行游戏 340

18.2.2事件操作 341

实例18-2:在Pygame框架中处理键盘事件 343

18.2.3显示模式设置 344

实例18-3:让游戏在全屏和非全屏模式之间进行转换 344

18.2.4字体处理 345

实例18-4:在游戏窗口中显示指定样式的文字 345

18.2.5像素和颜色处理 346

实例18-5:实现一个三原色颜色滑动条 346

18.2.6使用Surface绘制图像 347

实例18-6:在游戏界面随机绘制点 348

18.2.7使用pygame.draw绘图函数 348

实例18-7:随机绘制各种多边形 349

18.2.8游戏开发实践 350

实例18-8:简单的贪吃蛇游戏 350

第19章 Python Web开发 354

19.1使用Tornado框架 354

19.1.1 Tornado框架介绍 354

19.1.2 Python和Tornado框架 355

实例19-1:编写Tornado Web程序:杰克琼斯是男生的最爱 355

19.1.3获取请求参数 356

实例19-2:显示杰克琼斯官方旗舰店的欢迎信息 357

实例19-3:显示美特斯邦威的广告词 357

19.1.4使用cookie 358

实例19-4:在不同页面设置与获取cookie值 359

19.1.5 URL转向 359

实例19-5:实现两种URL转向功能 360

19.1.6使用静态资源文件 360

实例19-6:显示杰克琼斯商品的最畅销款 360

19.2使用Django框架 361

19.2.1搭建Django环境 361

19.2.2常用的Django命令 362

19.2.3第一个Django工程 363

实例19-7:输出显示“优衣库价格实惠” 364

19.2.4在URL中传递参数 366

实例19-8:参数加法计算器 366

19.2.5使用模板 368

实例19-9:显示优衣库的广告词 370

19.2.6使用表单 370

实例19-10:表单计算器 371

19.2.7实现基本的数据库操作 372

实例19-11:创建SQLite3数据库 372

19.2.8 Django后台系统应用实践 373

实例19-12:开发一个博客系统 373

19.3微框架Flask 376

19.3.1开始使用Flask框架 376

实例19-13:显示巴萨足球队的主赞助商 377

19.3.2传递URL参数 378

实例19-14:将不同的URL映射到同一个函数 378

实例19-15:使用get请求获取URL参数 379

19.3.3使用Session和Cookie 379

实例19-16:使用Cookie跟踪用户 380

19.3.4文件上传 381

实例19-17:开发一个Flask文件上传系统 381

第20章 数据可视化 382

20.1使用matplotlib 382

20.1.1搭建matplotlib环境 382

20.1.2初级绘图 384

实例20-1:使用Matplotlib绘制散点图 384

实例20-2:使用matplotlib绘制折线图 385

实例20-3:绘制指定样式的折线图 386

20.1.3自定义散点图样式 387

实例20-4:绘制指定样式的散点图 387

20.1.4绘制柱状图 389

实例20-5:绘制多个柱状图 389

20.1.5绘制多幅子图 390

实例20-6:同时绘制一个折线图和散点图 391

20.1.6绘制曲线 392

实例20-7:使用正弦函数和余弦函数绘制曲线 392

20.1.7绘制3D图表 392

实例20-8:绘制3D样式图表 393

20.2使用pygal库 393

20.2.1安装pygal库 393

20.2.2可视化模拟掷骰子游戏的数据 394

实例20-9:掷骰子100次的可视化模拟 394

20.2.3使用pygal绘制世界人口统计图 395

实例20-10:绘制2015年世界人口地图 395

20.3读写处理CSV文件 397

20.3.1 CSV模块介绍 397

20.3.2操作CSV文件 398

实例20-11:输出CSV文件中的日期和标题内容 398

实例20-12:提取并打印CSV文件中的指定内容 398

20.4使用Pandas库 399

20.4.1安装Pandas库 399

实例20-13:测试Pandas库是否安装成功并成功运行 399

20.4.2从CSV文件读取数据 399

实例20-14:读取并显示了CSV文件中的前3条数据 400

实例20-15:用规整的格式读取并显示CSV文件中的前3条数据 400

20.5使用NumPy库 401

20.5.1 NumPy基础 401

20.5.2数组对象 401

实例20-16:创建一个由4字节整数组成的2×3的二维数组 402

实例20-17:通过索引切片生成数组的视图 402

第21章 Python多媒体开发实战 403

21.1使用模块audioop处理原始音频数据 403

21.1.1内置模块audioop介绍 403

21.1.2使用模块audioop播放音乐 404

实例21-1:播放指定的音乐文件 404

21.2使用模块aifc 406

21.2.1模块aifc基础 406

21.2.2使用模块aifc获取多媒体文件的信息 407

实例21-2:打印某个多媒体文件的信息 407

21.3使用模块wave 408

21.3.1模块wave基础 408

21.3.2使用模块wave操作处理WAV文件 408

实例21-3:打印指定多媒体文件的信息 408

21.4基于tkinter模块的音乐播放器 410

实例21-4:多功能音乐播放器 410

第22章 开发网络爬虫 413

22.1网络爬虫基础 413

22.2开发简单的网络爬虫应用程序 414

22.2.1抓取××百科文字信息 414

实例22-1:打印输出抓取的爬虫信息 414

22.2.2抓取某贴吧信息 417

实例22-2:抓取×吧信息并保存到本地文件 418

22.3使用爬虫框架Scrapy 421

22.3.1 Scrapy框架基础 422

22.3.2搭建Scrapy环境 423

22.3.3创建第一个Scrapy项目 423

实例22-3:使用Scrapy开发一个简易爬虫程序 423

22.4综合实战——桌面壁纸抓取系统 427

22.4.1创建项目 427

22.4.2系统设置 427

22.4.3创建数据库 427

22.4.4声明需要格式化处理的字段 430

22.4.5实现保存功能类 430

22.4.6实现具体的爬虫 431

第23章 大数据实战:网络爬虫房价数据并数据分析 435

23.1背景介绍 435

23.2需求分析 435

23.3模块架构 436

23.4系统设置 436

23.4.1选择版本 436

23.4.2保存日志信息 437

23.4.3设置创建的文件名 437

23.4.4设置抓取城市 438

23.5破解反爬机制 440

23.5.1定义爬虫基类 440

23.5.2浏览器用户代理 441

23.5.3在线IP代理 441

23.6爬虫抓取信息 442

23.6.1设置解析元素 442

23.6.2抓取二手房信息 442

23.6.3抓取楼盘信息 446

23.6.4抓取小区信息 448

23.7数据可视化 451

23.7.1抓取数据并保存到数据库 451

23.7.2可视化济南市房价最贵的4个小区 455

23.7.3可视化济南市主要地区的房价均价 456

查看更多关于的内容

出版社其它书籍
本类热门
在线购买PDF电子书
下载此书RAR压缩包