Python王者归来(增强版)

Python王者归来(增强版)"

作者:洪锦魁
ISBN:9787302579779
定价:¥169
字数:千字
页数:
出版时间:2021.08.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

Python 的丰富模块(module)以及广泛的应用范围,使Python 成为当下重要的计算机语言之一。本书尝试将Python 常用模块与应用分门别类组织起来,相信只要读者遵循本书实例,一定可以轻松学会Python 语法与应用,逐步向Python 高手之路迈进,这也是撰写本书的目的。

为了提升阅读体验,《Python王者归来: 增强版》为彩色印刷,在图书结构、案例选择以及代码样式上都进行了细

心设计,力争呈现给读者一本与众不同的编程图书。本书适合所有对Python 编程感兴趣的读者阅读,同时也可以作为院校和培训机构的相关专业教材。

前言

相较于第一版,本书新增了下列知识与应用:

.

Python 

写作风格、PEP8、Python 

语法精神、f-strings 

输出

.

下画线开头或结尾的变量

.

复数观念、bytes与bytearray

.

高斯数学、火箭升空、凯撒密码、莫尔斯密码、鸡兔同笼、国王的麦粒、鸡尾酒、欧几里得算

法等案例

.

非True 

或False 

的逻辑运算

.

nonlocal 

变量

.

__name__==‘__main__’的优点

.

json 

和CSV 

文件解说

.

pickle 

和shelve 

文件

.

Python 

与MySQL

全书修订细节100 

多处,增加了100 

多个实例,全书实例高达1000 

多个。

多次与教育界的朋友相聚,谈到计算机语言的发展趋势,大家一致认为Python 

是当今最重要的

计算机语言。许多知名公司如Google、Facebook 

等,皆将此语言列为必备计算机语言。许多人想学

Python,市面上的书也不少,但许多书籍的缺点是:

.

Python 

语法讲解不完整,没有建立扎实的Python 

语法观念

.

用C、C++、Java观念撰写实例

.

对Python 

语法的精神与内涵未做说明

.

对Python 

进阶语法未做解说

.

基础实例太少,没经验的读者无法举一反三

.

模块介绍不足,应用范围有限

因此,许多读者买了书、读完了,好像学会了Python,但看到专业人士撰写的程序代码仍然看

不懂。

于是,笔者决定撰写一本通过丰富、实用、有趣的案例完整且深入讲解Python 

语法的入门书

籍。本书从Python 

风格说起,抛弃C、C++、Java 

思维,全面剖析Python 

语法、内涵与精神功能,

完全融入顶尖Python 

工程师的逻辑与设计风格。全书讲解了近500 

个模块的函数,深入、详细地讲

解了Python 

语法的基础知识与进阶知识,并将知识扩充至下列应用范围:

.

人工智能基础

.

bytes 

数据、编码、译码

.

Unicode 

字符集和UTF-

依据Unicode 

字符集的中文编码方式

.

从小型串行、元组、字典,到大型数据的建立

.

计算两点之间的距离,解说其与人工智能的关联

.

使用math 

模块与经纬度计算地球任意两点的距离

.

使用莱布尼茨公式、蒙特卡罗模拟计算圆周率

.

嵌套、closure、lambda、decorator等高阶应用

.

建立类别,同时深入讲解装饰器@property、@classmethod

.

设计与应用自建模块,活用外部模块

.

设计加密与解密程序

.

图像处理、文字识别、计算机存储图像的方法

.

建立有个人风格的QRcode 

与名片

.

认识中文分词jieba 

与建立词云

.

GUI 

设计计算器

.

动画、音乐与游戏实践

.

matplotlib 

中英文图表绘制

.

处理PDF 

文件

.

用Python 

控制鼠标、屏幕与键盘

.

轻量级的数据库SQLite 

实践

.

多任务与多线程设计

.

用海龟绘图设计万花筒与满天星星

.

设计机场出入境人脸识别系统

.

用网络程序Server 

端与Client 

端设计聊天室

笔者写过许多计算机领域的著作,本书沿袭笔者写作的特色,程序实例丰富。相信读者只要遵

循本书内容进行学习,必定可以在短时间内精通Python。本书虽力求完美,但谬误难免,尚祈读者

不吝指正。

读者可扫描下方二维码,获得对应学习资源。

洪锦魁

目录

章 基本概念

1-1 认识Python.....................................

2

1-2 Python 

的起源..................................

2

1-3 Python 

语言发展史...........................

3

1-4 Python 

的应用范围...........................

4

1-5 静态语言与动态语言..........................

4

1-6 系统的安装与执行.............................

5

1-6-1 在idle 环境执行 ............................ 5 

1-6-2 文件的建立、存储、执行与打开 .... 5 

1-7 程序注释..........................................

6

1-7-1 注释符号# .................................... 

6

1-7-2 三个单引号或双引号 .................... 

7

1-8 Python 

彩蛋.....................................

7

章 认识变量与基本数学运算

2-1 用Python 

做计算..............................

9

2-2 认识变量..........................................

9

2-2-1 基本概念 ....................................... 

9

2-2-2 认识变量地址的意义 .................. 10

2-3 认识程序的意义...............................11

2-4 认识注释的意义...............................11

2-5 变量的命名原则...............................12

2-5-1 基本概念 ..................................... 12 

2-5-2 认识下画线开头或结尾的变量 .. 14 

2-6 基本数学运算..................................14

2-6-1 赋值 ............................................. 14

2-6-2 四则运算 ..................................... 14

2-6-3 余数和整除.................................. 15

2-6-4 乘方 ............................................. 15

2-6-5 Python 语言控制运算的优先级 .. 15

2-7 赋值运算符.....................................16

2-8 Python 

等号的多重指定使用.............16

2-9 删除变量........................................17

2-10 Python 

的断行..............................17

2-10-1 一行有多个语句 ........................ 17

2-10-2 将一个语句分成多行 ................ 17

2-11 

专题:复利计算

计算圆面积与圆周长...18

2-11-1 银行存款复利的计算 ................ 18

2-11-2 价值衰减的计算 ........................ 18

2-11-3 计算圆面积与圆周长.................. 18

2-11-4 数学模块的pi ............................ 19

章 Python 

的基本数据类型

3-1 type( ) 

函数....................................21

3-2 数值数据类型..................................21

3-2-1 整数 ............................................. 21

3-2-2 浮点数 ......................................... 22

3-2-3 基本数值数据的使用 .................. 22

3-2-4 整数与浮点数的运算 .................. 22

3-2-5 不同底数的整数 .......................... 23

3-2-6 二进制整数与函数bin( ) ............ 23

3-2-7 八进制整数与函数oct( ) ............ 23

3-2-8 十六进制整数与函数hex( ) ........ 23

3-2-9 强制数据类型的转换 .................. 24

3-2-10 数值运算常用的函数 ................ 24

3-2-11 科学记数法 ................................ 25

3-2-12 复数 ........................................... 25

3-3 布尔值数据类型...............................25

3-3-1 基本概念 ..................................... 25

3-3-2 bool( ) .......................................... 26

3-4 字符串数据类型...............................26

3-4-1 字符串的连接 .............................. 27

3-4-2 处理多于一行的字符串 .............. 27

3-4-3 逸出字符 ..................................... 28

3-4-4 str( ) ............................................. 29

3-4-5 将字符串转换为整数 .................. 29

3-4-6 字符串与整数相乘产生字符

复制效果 ..................................... 29

3-4-7 聪明地使用字符串加法和换

字符\n ......................................... 30

3-4-

字符串前加r ............................... 30

3-

字符串与字符..................................30

3-5-1 ASCII 码 ...................................... 30

3-5-2 Unicode 码 ................................... 31

3-5-3 UTF-8 编码 .................................. 31

3-

bytes 

数据.....................................32

3-6-1 字符串转成bytes 数据................ 32

3-6-2 bytes 数据转成字符串 ................ 33

3-

专题:计算地球到月球的时间

计算

两点之间的距离..............................33

3-7-1 计算地球到月球所需时间 .......... 33

3-7-2 计算两点之间的距离 .................. 34

章 基本输入与输出

4-1 Python 

的辅助说明help( 

)...............37

4-2 使用print( ) 

格式化输出数据.............37

4-2-1 函数print( ) 的基本语法 ............. 37 

4-2-2 使用% 格式化字符串

同时用print( ) 输出 ..................... 38 

4-2-3 精准控制格式化的输出 .............. 39 

4-2-4 {}和format( ) 函数 ................... 40 

4-2-5 f-strings 格式化字符串................ 42 

4-2-6 字符串输出与基本排版的应用 ... 43 

4-2-7 让字符串重复 .............................. 43 

4-

输出数据到文件...............................44

4-3-1 打开一个文件open( ) ................. 44 

4-3-2 使用print( ) 函数输出

数据到文件 .................................. 44 

4-4 数据输入input( 

).............................45

4-5 处理字符串的数学运算eval( ) 

...........45

4-6 列出所有内置函数dir( 

)....................46

4-7 专题:温度转换/房贷问题/面积

/

经纬度距离

高斯数学.....................47

4-7-1 设计摄氏温度和华氏

温度的转换 .................................. 47 

4-7-2 房屋贷款问题 .............................. 47 

4-7-3 正五角形面积 .............................. 48 

4-7-4 使用math 模块与经纬度计算地球

任意两点的距离 .......................... 48 

4-7-5 鸡兔同笼:解联立方程式 ......... 49 

4-7-6 高斯数学(计算等差数列和) .... 50 

章 使用if 

语句实现流程控制

5-1 关系运算符.....................................52

5-2 逻辑运算符.....................................52

5-3 if 

语句............................................53

5-4 if … 

else 

语句.................................54

5-5 if … 

elif 

…else 

语句........................56

5-6 尚未设定的变量值None 

..................57

5-7 if 

的新功能......................................58

5-8 专题:BMI/猜数字/生肖/方程式

/

联立方程式

火箭升空

闰年.............58

5-8-1 设计人体体重健康判断程序 ...... 58

5-8-2 猜出0 ~ 7 的数字 ........................ 59

5-8-3 十二生肖系统 .............................. 59

5-8-4 求一元二次方程式的根 .............. 60

5-8-5 求解联立线性方程式 .................. 60

5-8-6 火箭升空 ..................................... 61

5-8-7 计算闰年程序 .............................. 62

第6章 列表

6-

认识列表........................................64

6-1-

列表的基本定义 .......................... 64

6-1-

读取列表元素 .............................. 65

6-1-

列表切片 ..................................... 66

6-1-

列表索引值是-1 ......................... 67

6-1-

列表统计数据、最大值max( )、

最小值min( )、总和sum( ) ........ 68

6-1-

列表元素个数len( ) .................... 68

6-1-

更改列表元素的内容 .................. 69

6-1-

列表的相加.................................. 69

6-1-

列表乘以一个数字 ...................... 70

6-1-10 列表元素的加法运作 ................ 70

6-1-11 删除列表元素 ............................ 70

6-1-12 列表为空列表的判断 ................ 71

6-1-13 删除列表 ................................... 72

6-1-14 补充多重指定与列表 ................ 72

6-2 Python 

简单的面向对象概念.............72

6-2-1 更改字符串大小写lower( )/ 

upper( )/title( )/swapcase( ) .......... 73 

6-2-2 删除空格符rstrip( )/lstrip( )/ 

strip( ) .......................................... 73 

6-2-3 格式化字符串位置center( )/ 

ljust( )/rjust( )/zfill( ) .................... 74 

6-2-4 islower()/isupper()/isdigit()/ 

isalpha() ....................................... 74 

6-2-5 dir( ) 获得系统内部对象的方法 .... 75 

6-3 获得列表的方法...............................76

6-4 增加与删除列表元素........................76

6-4-1 在列表末端增加元素append( ) ... 76 

6-4-2 插入列表元素insert( ) ................ 77 

6-4-3 删除列表元素pop( ) ................... 77 

6-4-4 删除指定的元素remove( ) ......... 77 

6-

列表的排序.....................................78

6-5-1 颠倒排序reverse( ) ..................... 78

6-5-2 sort( ) 排序 ................................... 78

6-5-3 sorted( ) 排序 ............................... 79

6-

进阶列表操作..................................80

6-6-1 index( ) ......................................... 80

6-6-2 count( ) ......................................... 80

6-6-3 列表元素的组合join( ) ............... 81

6-

列表内含列表..................................81

6-7-1 再谈append( ) ............................. 82

6-7-2 extend( ) ....................................... 82

6-7-3 再看二维列表 .............................. 83

6-

列表的赋值与复制...........................84

6-8-1 列表赋值 ..................................... 84

6-8-2 地址的概念.................................. 85

6-8-3 列表的切片复制 .......................... 85

6-8-4 浅复制与深复制 .......................... 85

6-

再谈字符串.....................................86

6-9-1 字符串的索引 .............................. 86

6-9-2 字符串切片.................................. 86

6-9-3 函数或方法.................................. 87

6-9-4 将字符串转成列表 ...................... 87

6-9-5 切片赋值的应用 .......................... 87

6-9-6 使用split( ) 分割字符串 ............. 88

6-9-7 列表元素的组合join( ) ............... 88

6-9-8 子字符串搜寻与索引 .................. 88

6-9-9 字符串的其他方法 ...................... 89

6-10 in 

和not 

in 

表达式.........................89

6-11 is 

或is 

not 

表达式.........................90

6-11-1 整型变量在内存地址的观察..... 90 

6-11-2 将is 和is not 表达式应用在整型

变量 ........................................... 91 

6-11-3 将is 和is not 表达式应用在列表

变量 ........................................... 91 

6-11-4 将is 应用在None ...................... 92 

6-12 enumerate 

对象...........................926-13 专题:大型列表

账号管理/

认识凯撒密码................................93

6-13-1 制作大型列表 ........................... 93

6-13-2 用户账号管理系统 ................. 93

6-13-3 凯撒密码 ................................... 93

章 循环设计

7-

基本for 

循环..................................96

7-1-1 for 循环基本运作 ........................ 96 

7-1-2 如果程序代码区块只有一行 ...... 97 

7-1-3 有多行的程序代码区块 .............. 97 

7-1-4 将for 循环应用在列表区间元素 ... 98 

7-1-5 将for 循环应用在数据

类别的判断 .................................. 98 

7-1-6 删除列表内重复的元素 .............. 99 

7-1-7 活用for 循环 ............................... 99 

7-

range( ) 

函数.................................99

7-2-1 只有一个参数的range( ) 

函数的应用 ................................ 100 

7-2-2 扩充专题:银行存款

复利的变化 ................................ 100 

7-2-3 有2 个参数的range( ) 函数 ...... 101 

7-2-4 有3 个参数的range( ) 函数 ...... 101 

7-2-5 活用range( ) .............................. 101 

7-2-6 设计删除列表内所有元素 ........ 102 

7-2-7 列表生成式(list generator) 的

应用 .......................................... 102 

7-2-8 打印含列表元素的列表 ............ 104 

7-2-9 含有条件式的列表生成 ............ 104 

7-2-10 列出ASCII 码值或Unicode 

码值的字符 .............................. 105 

7-

进阶的for 

循环应用.......................105

7-3-1 嵌套for 循环 ............................. 105 

7-3-2 强制离开for 循环—break 

指令 ........................................... 106 

7-3-3 for 循环暂时停止不往下

执行—continue 指令............. 107 

7-3-4 for … else 循环 .......................... 109 

7-4 while 

循环....................................109

7-4-1 基本while 循环 ..........................110

7-4-2 认识哨兵值.................................111

7-4-3 预测学费 ....................................111

7-4-4 嵌套while 循环 ..........................111

7-4-5 强制离开while 循环—break

指令 ............................................112 

7-4-6 while 循环暂时停止不往下

执行—continue 指令..............113 

7-4-7 while 循环条件表达式与可迭代

对象 ............................................113 

7-4-8 无限循环与pass .........................114 

7-5 使用for 

循环解析enumerate 

对象..1147-6 专题:购物车设计

成绩系统

圆周率/

鸡兔同笼

国王的麦粒...................116

7-6-1 设计购物车系统 .........................116

7-6-2 建立真实的成绩系统 .................116

7-6-3 计算圆周率.................................118

7-6-4 鸡兔同笼—使用循环计算 .....118

7-6-5 国王的麦粒................................119

第8章 元组

8-1 元组的定义...................................121

8-2 读取元组元素................................121

8-3 遍历所有元组元素.........................122

8-4 修改元组内容产生错误的实例..........122

8-5 使用全新定义方式修改元组元素.......123

8-6 元组切片......................................123

8-7 方法与函数...................................123

8-8 列表与元组数据互换......................124

8-9 其他常用的元组方法......................125

8-10 在元组使用enumerate 

对象.........125

8-11 使用zip( ) 

打包多个对象..............126

8-12 生成式.......................................127

8-13 制作大型元组数据........................128

8-14 元组的功能.................................128

8-15 专题:认识元组

统计

打包与解包

/

bytes 

与bytearray.....................128

8-15-1 认识元组 ................................. 128

8-15-2 基础统计应用 .......................... 129

8-15-3 多重指定、打包与解包 .......... 130

8-15-4 再谈bytes 与bytearray ........... 130

第9章 字典

9-1 字典基本操作................................133

9-1-1 定义字典 ................................... 133

9-1-2 列出字典元素的值 .................... 133

9-1-3 增加字典元素 ............................ 134

9-1-4 更改字典元素内容 .................... 134

9-1-5 删除字典特定元素 .................... 135

9-1-6 字典的pop( ) 方法 .................... 135

9-1-7 字典的popitem( ) 方法 ............. 136

9-1-8 删除字典所有元素 .................... 136

9-1-9 删除字典 ................................... 136

9-1-10 建立一个空字典 ...................... 137

9-1-11 字典的复制 .............................. 137

9-1-12 取得字典元素数量 .................. 138

9-1-13 验证元素是否存在 .................. 138

9-1-14 设计字典的可读性技巧 .......... 138

9-1-15 使用update( ) 合并字典

使用新方法** ......................... 139

9-1-16 dict( ) ....................................... 140

9-1-17 再谈zip( ) ................................ 140

9-2 遍历字典......................................1409-2-1 items( ) 遍历字典的键: 值 ........ 141 

9-2-2 keys( ) 遍历字典的键 ................ 141 

9-2-3 sorted( ) 依键排序与遍历字典 ... 142 

9-2-4 values( ) 遍历字典的值 ............. 143 

9-2-5 sorted( ) 依值排序与遍历

字典的值 ................................... 143 

9-3 建立字典列表................................144

9-4 字典内键的值是列表......................145

9-5 字典内键的值是字典......................145

9-6 while 

循环在字典的应用.................146

9-7 字典常用的函数和方法...................147

9-7-1 len( ) .......................................... 147

9-7-2 fromkeys( ) ................................ 147

9-7-3 get( ) .......................................... 147

9-7-4 setdefault( ) ................................ 148

9-8 制作大型字典数据.........................1489-9 专题:文件分析

字典生成式

星座/

凯撒密码

莫尔斯密码...................149

9-9-1 传统方式分析文章的文字

字数 ........................................... 149

9-9-2 字典生成式................................ 150

9-9-3 设计星座字典 ............................ 151

9-9-4 文件加密:凯撒密码实践 ........ 151

9-9-5 莫尔斯密码................................ 152

第10章 集合

10-

建立集合....................................154

10-1-1 使用{ } 建立集合 ................... 154

10-1-2 集合元素是唯一 ...................... 154

10-1-3 使用set( ) 建立集合 ................ 154

10-1-4 集合的基数 .............................. 154

10-1-5 使用set( ) 建立空集合 ............ 155

10-1-6 大数据与集合的应用 .............. 155

10-

集合的操作.................................155

10-2-1 交集(intersection) ................... 155

10-2-2 并集(union) ............................. 156

10-2-3 差集(difference) ...................... 156

10-2-4 对称差

集 

(symmetric difference) ............. 157

10-2-5 等于 ......................................... 157

10-2-6 不等于 ..................................... 158

10-2-7 元素属于集合 .......................... 158

10-2-8 元素不属于集合 ...................... 158

10-

适用集合的方法...........................159

10-3-1 add( ) ........................................ 159

10-3-2 copy( ) ...................................... 159

10-3-3 remove( ) .................................. 160

10-3-4 discard( ) .................................. 160

10-3-5 pop( ) ....................................... 161

10-3-6 clear( ) ...................................... 161

10-3-7 isdisjoint( ) ............................... 161

10-3-8 issubset( ) ................................. 162

10-3-9 issuperset( ) .............................. 162

10-3-10 intersection_update( )............. 163

10-3-11 update( ) ................................. 163

10-3-12 difference_update( ) ............... 164

10-3-13 symmetric_difference_update( ) ... 164 

10-4 适用集合的基本函数操作..............16410-5 冻结集合....................................16510-6 专题:夏令营程序

集合生成式/

程序效率

鸡尾酒实例..................165

10-6-1 夏令营程序设计 ...................... 165

10-6-2 集合生成式 .............................. 165

10-6-3 集合增加程序效率 .................. 166

10-6-4 鸡尾酒的实例 .......................... 166

第11 

章 函数设计

11-

Python 

函数基本概念..................169

11-1-1 函数的定义 .............................. 169 

11-1-2 没有传入参数也没有

回传值的函数 .......................... 170 

11-1-3 在Python Shell 执行函数 ........ 170 

11-

函数的参数设计...........................171

11-2-1 传递一个参数 .......................... 171 

11-2-2 多个参数传递 .......................... 172 

11-2-3 关键词参数:参数名称= 值 .. 173 

11-2-4 参数默认值的处理 .................. 173 

11-

函数回传值.................................174

11-3-1 回传None ................................ 174

11-3-2 简单回传数值数据 .................. 175

11-3-3 回传多个数据的应

(实质是回传tuple) ................. 176

11-3-4 简单回传字符串数据 .............. 177

11-3-5 再谈参数默认值 ...................... 177

11-3-6 函数回传字典数据 .................. 178

11-3-7 将循环应用在建立VIP 会

字典 ......................................... 178

11-

调用函数时参数是列表.................179

11-4-1 基本传递列表参数的应用 ...... 179 

11-4-2 传递一般变量与列表变量到

函数的区别 .............................. 179 

11-4-3 在函数内修订列表的内容 ...... 180 

11-4-4 使用副本传递列表 .................. 181 

11-4-5 传递列表的提醒 ...................... 182 

11-

传递任意数量的参数....................182

11-5-

基本传递处理任意

数量的参数 .............................. 182 

11-5-2 设计含有一般参数与任意

数量参数的函数 ...................... 183

11-5-3 设计含有一般参数与任意

数量的关键词参数 .................. 184

11-6 进一步认识函数...........................184

11-6-1 函数文件字符串Docstring ..... 184 

11-6-2 函数是一个对象 ...................... 185 

11-6-3 函数可以是数据结构成员 ...... 185 

11-6-4 函数可以当作参数传递给

其他函数.................................. 186 

11-6-5 函数当参数与*args 

不定量的参数 .......................... 186 

11-6-6 嵌套函数 .................................. 186 

11-6-7 函数也可以当作回传值 ......... 187 

11-6-8 闭包closure ............................. 187 

11-7 递归式函数设计recursive............188

11-8 局部变量与全局变量....................189

11-8-1 全局变量可以在所有函数

使用 ......................................... 190

11-8-2 局部变量与全局变量使用

相同的名称 .............................. 190

11-8-3 程序设计注意事项 .................. 190

11-8-4 locals( ) 和globals( ) ............... 191

11-8-5 nonlocal 变量 ........................... 192

11-9 匿名函数lambda........................192

11-9-1 匿名函数lambda 的语法 ........ 192

11-9-2 使用lambda 匿名函数的理由 . 193 

11-9-3 匿名函数应用在高阶函数的

参数 ......................................... 193

11-9-4 匿名函数使用与filter( ) .......... 194

11-9-5 匿名函数使用与map( ) ........... 195

11-9-6 匿名函数使用与reduce( ) ....... 195

11-10 pass 

与函数.............................196

11-11 type 

关键词应用在函数..............196

11-12 设计自己的range( ) 

..................197

11-13 装饰器.....................................197

11-14 专题:函数的应用

质数.............200

11-14-1 用函数重新设计文章单词出现

次数程序 ............................... 200

11-14-2 质数Prime Number ............... 200

11-15 专题:欧几里得算法...................201

11-15-1 土地区块划分 ........................ 201

11-15-2 最大公约数 ............................ 201

11-15-3 辗转相除法 ............................ 201

11-15-4 递归式函数设计处理欧几里

算法 ....................................... 202

11-15-5 最小公倍数 ............................ 202

第12 

章 类:面向对象的程序设计

12-1 类的定义与使用...........................204

12-1-1 定义类 ..................................... 204

12-1-2 操作类的属性与方法 .............. 204

12-1-3 类的构造函数 .......................... 205

12-1-4 属性初始值的设定 .................. 206

12-2 类的访问权限:封装....................207

12-2-1 私有属性 ................................. 207

12-2-2 私有方法 ................................. 208

12-2-3 从存取属性值看Python 风

格 

property( ) ................................ 209

12-2-4 装饰器@property ....................211

12-2-5 方法与属性的类型 ...................211

12-2-6 静态方法 ................................. 212

12-3 类的继承....................................212

12-3-1 衍生类继承基类的实例应用 .. 213 

12-3-2 如何取得基类的私有属性 ...... 213 

12-3-3 衍生类与基类有相同

名称的属性 ............................. 214 

12-3-4 衍生类与基类有相同

名称的方法 ............................. 215 

12-3-5 衍生类引用基类的方法 .......... 216 

12-3-6 衍生类有自己的方法 .............. 216 

12-3-7 三代同堂的类与取得

基类的属性super( ) ................ 217 

12-3-8 兄弟类属性的取得 .................. 218 

12-3-9 认识Python 类方法的self 参数 ... 218 

12-4 多型..........................................219

12-5 多重继承....................................220

12-5-1 基本概念 .............................. 220 

12-5-2 super( ) 应用在多重

继承的问题 ............................. 221 

12-6 type 

与instance........................

222

12-6-1 type( ) ....................................... 222

12-6-2 isinstance( ) .............................. 222

12-7 特殊属性....................................223

12-7-1 文件字符串__doc__ ............... 223

12-7-2 __name__ 属性 ........................ 224

12-8 类的特殊方法..............................225

12-8-1 __str__( ) 方法 ......................... 225

12-8-2 __repr__( ) 方法 ...................... 226

12-8-3 __iter__( ) 方法 ....................... 226

12-8-4 __eq__( ) 方法 ......................... 226

12-9 专题:几何数据的应用.................227

第13 

章 设计与应用模块

13-1 将自建的函数存储在模块中...........231

13-1-1 准备工作 ................................. 231

13-1-2 建立函数内容的模块 .............. 231

13-2 应用自己建立的函数模块..............23113-2-1 import 模块名称 ...................... 232 

13-2-2 导入模块内特定单一函数 ...... 232 

13-2-3 导入模块内多个函数 .............. 232 

13-2-4 导入模块所有函数 .................. 233 

13-2-5 使用as 给函数指定替代

名称 ......................................... 233 

13-2-6 使用as 给模块指定替代

名称 ......................................... 233 

13-2-7 将主程序放在main( ) 

与__name__ 搭配的好处 ....... 233 

13-3 将自建的类存储在模块内..............235

13-3-1 准备工作 ................................. 235

13-3-2 建立类内容的模块 .................. 236

13-4 应用自己建立的类模块.................236

13-4-1 导入模块的单一类 .................. 236

13-4-2 导入模块的多个类 .................. 237

13-4-3 导入模块内所有类 .................. 237

13-4-4 import 模块名称 ...................... 237

13-4-5 模块内导入另一个模块的类 .. 238

13-5 随机数random 

模块....................238

13-5-1 randint( ) .................................. 239

13-5-2 choice( ) ................................... 240

13-5-3 shuffle( ) ................................... 241

13-5-4 sample( ) .................................. 241

13-5-5 uniform( ) ................................. 241

13-5-6 random( ) ................................. 242

13-5-7 seed( ) ...................................... 242

13-6 时间time 

模块............................243

13-6-1 time( ) ...................................... 243

13-6-2 sleep( ) ..................................... 244

13-6-3 asctime( ) ................................. 244

13-6-4 localtime( ) ............................... 244

13-6-5 ctime( ) ..................................... 245

13-6-6 process_time( ) ......................... 245

13-7 系统sys 

模块.............................246

13-7-1 version 和version_info 属性 ... 246

13-7-2 stdin 对象 ................................. 246

13-7-3 stdout 对象 ............................... 247

13-7-4 platform 属性........................... 247

13-7-5 path 属性 ................................. 247

13-7-6 getwindowsversion( ) ............... 247

13-7-7 executable ................................ 248

13-7-8 获得与设定循环次数 .............. 248

13-7-9 DOS 命令行自变量 ................. 248

13-8 keyword 

模块.............................248

13-8-1 kwlist 属性 ............................... 248

13-8-2 iskeyword( ) ............................. 249

13-9 日期calendar 

模块.....................249

13-9-1 列出某年是否为闰年isleap( ) ... 249

13-9-2 列出月历month( ) ................... 249

13-9-3 列出年历calendar( )................ 249

13-9-4 其他方法 ................................. 250

13-10 几个增强Python 

功力的模块......250

13-10-1 collections 模块 ..................... 250

13-10-2 pprint 模块 ............................. 253

13-10-3 itertools 模块......................... 254

13-10-4 string 模块 ............................. 255

13-11 专题:赌场游戏骗局

蒙特卡罗模拟/

文件加密..................................25613-11-1 赌场游戏骗局 ........................ 256 

13-11-2 蒙特卡罗模拟 ........................ 256 

13-11-3 再谈文件加密 ........................ 257 

13-11-4 全天下只有你可以解的加密

程序 ....................................... 258 

第14 

章 文件的读取与写入

14-1 文件夹与文件路径........................261

14-1-1 绝对路径与相对路径 .............. 261 

14-1-2 os 模块与os.path 模块 ............ 261 

14-1-3 取得当前工作方法

 os.getcwd( ) ............................. 261 

14-1-4 取得绝对路径方法 

os.path.abspath ........................ 262 

14-1-5 回传特定路段相对路径方法 

os.path.relpath( ) ...................... 262 

14-1-6 检查路径方法 

exist/isabs/isdir/isfile ............... 262 

14-1-7 文件与操作方法mkdir/rmdir/ 

remove/chdir/rename ............... 263 

14-1-8 回传文件路径方法 

os.path.join( ) ........................... 264 

14-1-9 获得特定文件大小方法 

os.path.getsize( ) ...................... 265 

14-1-10 获得特定工作内容方法 

os.listdir( ) ............................. 265 

14-1-11 获得特定工作内容方法

 glob ........................................ 266 

14-1-12 遍历树方法os.walk( ) ... 266 

14-1-13 UNIX/Linux/Mac 系统:变更

文件权限与拥有权 ................. 267 

14-1-14 UNIX/Linux/Mac 系统:变更

文件拥有权 ........................... 268 

14-2 读取文件....................................268

14-2-1 读取整个文件read( ) .............. 268

14-2-2 with 关键词 ............................. 268

14-2-3 逐行读取文件内容 .................. 269

14-2-4 逐行读取使用readlines( ) ....... 270

14-2-5 数据组合 ................................. 270

14-2-6 分批读取文件数据 ............... 271

14-3 写入文件....................................271

14-3-1 将执行结果写入空的文件内 .. 271

14-3-2 写入数值数据 .......................... 272

14-3-3 输出多行数据的实例 .............. 272

14-3-4 建立附加文件 .......................... 273

14-3-5 文件很大时的分段写入 .......... 273

14-4 读取和写入二进制文件.................274

14-4-1 复制二进制文件 ...................... 274

14-4-2 随机读取二进制文件 .............. 274

14-5 shutil 

模块..................................275

14-5-1 文件的复制copy( ) ................. 275

14-5-2 的复制copytree( ) ........... 276

14-5-3 文件的移动move( ) ................ 276

14-5-4 文件名的更改move( ) ............ 276

14-5-5 的移动move( ) ................ 277

14-5-6 的更改名称move( ) ........ 277

14-5-7 删除底下有数据的目

录 

rmtree( ) ................................... 277

14-5-8 安全删除文件或目

录 

send2trash( ) ............................ 278

14-6 文件压缩与解压缩zipFile.............278

14-6-1 执行文件或的压缩 .......... 278

14-6-2 读取zip 文件 ........................... 279

14-6-3 解压缩zip 文件 ....................... 279

14-7 剪贴板的应用..............................280

14-8 专题:分析文件

加密文件............280

14-8-1 以读取文件方式处理分析

文件 ......................................... 280 

14-8-2 加密文件 ................................. 281 

第15 

章 程序除错与异常处理

15-1 程序异常....................................284

15-1-1 一个除数为0 的错误 .............. 284

15-1-2 撰写异常处理程

序 

try - except ............................... 284

15-1-3 try - except - else ...................... 285

15-1-4 找不到文件的错

误 

FileNotFoundError .................. 286

15-1-5 分析单一文件的字数 .............. 286

15-1-6 分析多个文件的字数 .............. 287

15-2 设计多组异常处理程序.................28715-2-1 常见的异常对象 ...................... 288 

15-2-2 设计捕捉多个异常 .................. 288 

15-2-3 使用一个except 捕捉多个

异常 ......................................... 289 

15-2-4 处理异常但是使用Python 

内置的错误信息 ..................... 290 

15-2-5 捕捉所有异常 .......................... 290

15-3 丢出异常....................................290

15-4 记录Traceback 

字符串...............291

15-5 finally........................................293

15-6 程序断言assert..........................293

15-6-1 设计断言 ................................. 293

15-6-2 停用断言 ................................. 295

15-7 程序日志模块logging..................296

15-7-1 logging 模块 ............................ 296 

15-7-2 logging 的等级 ........................ 296 

15-7-3 格式化logging 信息输出 

format ...................................... 297 

15-7-4 时间信息asctime .................... 297 

15-7-5 format 内的message................ 298 

15-7-6 列出levelname ........................ 298 

15-7-7 使用logging 列出变量

变化的应用 ............................. 298 

15-7-8 正式追踪factorial 数值的应用 ... 299 

15-7-9 将程序日志logging 输出到

文件 ......................................... 300 

15-7-10 使用CRITICAL 隐藏程序日志

logging 的DEBUG 等级 ........ 300 

15-7-11 停用程序日志logging ........... 300 

15-8 程序除错的典故...........................301

第16 

章 正则表达式

16-1 使用Python 

硬功夫搜寻文字........303

16-2 正则表达式的基础........................305

16-2-1 建立搜寻字符串模式 .............. 305

16-2-2 使用re.compile( ) 建立Regex

对象 ......................................... 305

16-2-3 搜寻对象 ................................. 305

16-2-4 findall( ) ................................... 306

16-2-5 再看re 模块 ............................ 306

16-2-6 再看正则表达式 ...................... 307

16-3 更多搜寻比对模式........................308

16-3-1 使用小括号分组 ...................... 308

16-3-2 groups( ) ................................... 309

16-3-3 区域号码是在小括号内 .......... 309

16-3-4 使用通道| ................................ 309

16-3-5 多个分组的通道搜寻 .............. 310

16-3-6 使用? 号做搜寻 .......................311

16-3-7 使用* 号做搜寻 .......................311

16-3-8 使用+ 号做搜寻.......................311

16-3-9 搜寻时忽略大小写 .................. 312

16-4 贪婪与非贪婪搜寻........................31216-4-1 搜寻时使用大括号设定

比对次数 ................................. 312 

16-4-2 贪婪与非贪婪搜寻 .................. 313 

16-5 正则表达式的特殊字符.................314

16-5-1 特殊字符表 .............................. 314

16-5-2 字符分类 ................................. 315

16-5-3 字符分类的^ 字符 .................. 315

16-5-4 正则表示法的^ 字符 .............. 316

16-5-5 正则表示法的$ 字符 .............. 316

16-5-6 单一字符使用通配符“.” ....... 317

16-5-7 所有字符使用通配符“.*” ..... 317

16-5-8 换行字符的处理 ...................... 317

16-6 MatchObject 

对象......................31816-6-1 re.match( ) ................................ 318 

16-6-2 MatchObject 几个重要的方法 ... 319 

16-7 抢救CIA 

情报员-sub( ) 

方法.......319

16-7-1 一般的应用 .............................. 320

16-7-2 抢救CIA 情报员 ..................... 320

16-8 处理比较复杂的正则表示法...........32116-8-1 将正则表达式拆成多行

字符串 ..................................... 321 

16-8-2 re.VERBOSE ........................... 321 

16-8-3 电子邮件地址的搜寻 .............. 322 

16-8-4 re.IGNORECASE/re.DOTALL/ 

re.VERBOSE ........................... 322 

第17 

章 用Python 

处理图像文件

17-1 认识Pillow 

模块的RGBA............324

17-1-1 getrgb( ) ................................... 324

17-1-2 getcolor( ) ................................ 324

17-2 Pillow 

模块的盒子元组.................325

17-2-1 基本概念 ................................. 325

17-2-2 计算机眼中的图像 .................. 325

17-3 图像的基本操作...........................326

17-3-1 开启图像对象 .......................... 326

17-3-2 图像大小属性 .......................... 326

17-3-3 取得图像对象文件名 .............. 326

17-3-4 取得图像对象的文件格式 ...... 326

17-3-5 存储文件 ................................. 327

17-3-6 屏幕显示图像 .......................... 327

17-3-7 建立新的图像对象 .................. 327

17-4 图像的编辑.................................328

17-4-1 更改图像大小 .......................... 328

17-4-2 图像的旋转 .............................. 329

17-4-3 图像的翻转 .............................. 330

17-4-4 图像像素的编辑 ...................... 330

17-5 裁切、复制与图像合成.................331

17-5-1 裁切图像 ................................. 331

17-5-2 复制图像 ................................. 331

17-5-3 图像合成 ................................. 332

17-5-4 将裁切图片填满图像区间 ...... 332

17-6 图像滤镜....................................333

17-7 在图像内绘制图案........................334

17-7-1 绘制点 ..................................... 334

17-7-2 绘制线条 ................................. 334

17-7-3 绘制圆或椭圆 .......................... 334

17-7-4 绘制矩形 ................................. 335

17-7-5 绘制多边形 .............................. 335

17-

在图像内填写文字........................335

第18 

章 使用tkinter 

开发GUI 

程序

18-

建立窗口....................................338

18-

标签Label 

.................................338

18-3 窗口组件配置管

Layout 

Management 

.................340

18-3-1 pack( ) 方法 ............................. 340

18-3-2 grid( ) 方法 .............................. 341

18-3-3 place( ) 方法 ............................ 343

18-3-4 窗口组件位置的总结 .............. 343

18-4 功能钮Button 

............................34318-4-1 基本概念 ................................. 343 

18-4-2 设定窗口背景config( ) ........... 345 

18-4-3 使用lambda 表达式的好时机345 

18-5 变量类型....................................346

18-6 文本框Entry 

..............................346

18-7 文字区域Text.............................350

18-8 滚动条Scrollbar.........................351

18-9 选项钮Radiobutton....................352

18-10 复选框Checkbutton 

.................354

18-11 对话框messagebox.................355

18-12 图形PhotoImage 

.....................357

18-12-1 图形与标签的应用 ................ 357

18-12-2 图形与功能钮的应用 ............ 358

18-13 尺度Scale 

的控制.....................359

18-14 菜单Menu 

设计........................360

18-15 专题:设计计算器......................361

第19 

章 动画与游戏

19-

绘图功能....................................365

19-1-1 建立画布 ................................. 365

19-1-2 绘线条create_line( ) ............... 365

19-1-3 绘矩形create_rectangle( )....... 367

19-1-4 绘圆弧create_arc( )................. 368

19-1-5 绘制圆或椭圆create_oval( ) ... 370

19-1-6 绘制多边形create_polygon( ) .... 370

19-1-7 输出文字create_text( ) ............ 371

19-1-8 更改画布背景颜色 .................. 372

19-1-9 插入影像create_image( ) ........ 372

19-2 尺度控制画布背景颜色.................372

19-3 动画设计....................................373

19-3-1 基本动画 ................................. 373 

19-3-2 多个球移动的设计 .................. 374 

19-3-3 将随机数应用在多个球体的

移动 ......................................... 374

19-3-4 信息绑定 ................................. 375

19-3-5 再谈动画设计 .......................... 375

19-

反弹球游戏设计...........................377

19-4-1 设计球往下移动 ...................... 377

19-4-2 设计让球上下反弹 .................. 378

19-4-3 设计让球在画布四面反弹 ...... 379

19-4-4 建立球拍 ................................. 380

19-4-5 设计球拍移动 .......................... 380

19-4-6 球拍与球碰撞的处理 .............. 381

19-4-7 完整的游戏 .............................. 383

19-

专题:使用tkinter 

处理谢尔宾斯基 

三角形.......................................384

第20 

章 数据图表的设计

20-

认识mapplotlib.pyplot

模块的主要函数...........................388

20-2 绘制简单的折线图plot( ) 

..............388

20-2-1 画线基础操作 .......................... 389

20-2-2 线条宽度linewidth.................. 390

20-2-3 标题的显示 .............................. 390

20-2-4 坐标轴刻度的设定 .................. 391

20-2-5 多组数据的应用 ...................... 392

20-2-6 线条色彩与样式 ...................... 392

20-2-7 刻度设计 ................................. 394

20-2-8 图例legend( ) .......................... 395

20-2-9 保存与开启图片 ...................... 397

20-2-10 在图上标记文字 .................... 397

20-3 绘制散点图scatter( 

)...................398

20-3-1 基本散点图的绘制 .................. 398

20-3-2 绘制系列点 .............................. 398

20-3-3 设定绘图区间 .......................... 399

20-

Numpy 

模块...............................400

20-4-

建立一个简单的数组

 linspace( ) 和arange( ) ............ 400

20-4-2 绘制波形 ................................. 401

20-4-3 建立不等宽度的散点图 .......... 401

20-4-4 填满区间Shading Regions ...... 402

20-4-5 色彩映射color mapping .......... 403

20-5 随机数的应用..............................405

20-5-1 一个简单的应用 ...................... 405

20-5-2 随机数的移动 .......................... 406

20-5-3 隐藏坐标 ................................. 406

20-6 绘制多个图表..............................407

20-6-1 一个程序有多个图表 .............. 407

20-6-2 含有子图的图表 ...................... 408

20-7 直方图的制作..............................409

20-7-1 bar( ) ........................................ 409

20-7-2 hist( ) ........................................ 410

20-8 圆饼图的制作..............................41120-9 图表显示中文..............................41120-10 专题:股市数据读取与图表制作...412

20-10-1 Stock( ) 建构元 ...................... 412

20-10-2 Stock 对象属性 ...................... 413

20-10-3 Stock 对象方法 ...................... 414

20-10-

取得单一股票的实时

数据realtime.get( ) ................ 415 

第21 

章 json 

数据

21-1 json 

数据格式简介.......................417

21-2 认识json 

数据格式......................417

21-2-1 对象(object) ............................ 417

21-2-2 数组(array).............................. 417

21-2-3 json 数据存在方式 .................. 418

21-

将Python 

应用在json 

字符串形式 

数据..........................................418

21-3-

使用dumps( ) 将Python 数据

转成json 格式 ......................... 418 

21-3-2 dumps( ) 的sort_keys 参数 ..... 419 

21-3-3 dumps( ) 的indent 参数........... 419 

21-3-4 使用loads( ) 将json 格式数据

转成Python 的数据 ................ 420 

21-3-5 一个json 文件只能放一个json 

对象 ......................................... 420 

21-

将Python 

应用在json 

文件..........421

21-4-1 使用dump( ) 将Python 数据

转成json 文件 ......................... 421 

21-4-2 将中文字典数据转成json 

文件 ......................................... 422 

21-4-3 使用load( ) 读取json 文件 ..... 423 

21-5 简单的json 

文件应用...................423

21-6 世界人口数据的json 

文件.............424

21-6-1 认识人口统计的json 文件...... 424 

21-6-2 认识pygal.maps.world 的国码

信息 ......................................... 425 

第22 

章Python 

处理CSV/pickle/

shelve/Excel 

22-1 建立一个CSV 

文件.....................428

22-2 用记事本开启CSV 

文件...............428

22-

csv 

模块....................................428

22-4 读取CSV 

文件............................429

22-4-1 使用open( ) 开启CSV 文件 ... 429 

22-4-2 建立Reader 对象 .................... 429 

22-4-3 用循环列出Reader 对象数据 . 429 

22-4-4 用循环列出列表内容 .............. 430 

22-4-5 使用列表索引读取CSV 内容.... 430 

22-4-6 DictReader( ) ........................... 431 

22-

写入CSV 

文件............................431

22-5-1 开启欲写入的文件open( ) 

与关闭文件close( ) ................. 431

22-5-2 建立writer 对象 ...................... 432

22-5-3 输出列表writerow( ) ............... 432

22-5-4 delimiter 关键词 ...................... 433

22-5-5 写入字典数据DictWriter( ) .... 433

22-

专题:使用CSV文件绘制气象图表...434

22-6-1 气象数据 ................................. 434

22-6-2 列出标题数据 .......................... 435

22-6-3 读取最高温与最低温 .............. 435

22-6-4 绘制最高温 .............................. 436

22-6-5 设定绘图区大小 ...................... 436

22-6-6 日期格式 ................................. 437

22-6-7 在图表增加日期刻度 .............. 437

22-6-8 日期位置的旋转 ................... 438

22-6-9 绘制最高温与最低温 .............. 439

22-6-10 填满最高温与最低

之间的区域 ........................... 439

22-6-11 后记 ....................................... 439

22-

pickle 

模块.................................440

22-8 shelve 

模块................................441

22-9 Python 

与Microsoft 

Excel..........441

22-9-1 将数据写入Excel 的模块 ....... 441

22-9-2 读取Excel 的模块 ................... 442

第23 章 

网络爬虫....................443

第24 章 

网络爬虫的王者

Selenium...................444 

第25 章 

用Python 

传送

手机短信....................445

第26 章 

文字识别系统

26-1 安装Tesseract 

OCR..................447

26-2 安装pytesseract 

模块.................448

26-3 文字识别程序设计........................448

26-4 识别简体中文..............................449

第27 章 

使用Python 

处理PDF 

文件

27-1 打开PDF 

文件............................452

27-2 获得PDF 

文件的页数..................452

27-

读取PDF 

页面内容.....................452

27-4 检查PDF 

是否被加密..................453

27-

解密PDF 

文件............................453

27-6 建立新的PDF 

文件.....................454

27-

PDF 

页面的旋转.........................454

27-8 加密PDF 

文件............................455

27-9 处理PDF 

页面重叠.....................456

27-10 破解密码的程序设计...................457

27-11 破解也不是万能.........................458

第28 

章用Python 

控制鼠标、屏幕

与键盘

28-1 鼠标的控制.................................460

28-1-1 提醒事项 ................................. 460

28-1-2 屏幕坐标 .............................. 460

28-1-3 获得鼠标光标位置 .................. 461

28-1-4 绝对位置移动鼠标 .................. 461

28-1-5 相对位置移动鼠标 .................. 462

28-1-6 键盘Ctrl+C 键 ........................ 462

28-1-7 让鼠标位置的输出在固

位置 ......................................... 463

28-1-8 单击鼠标click( ) ..................... 464

28-1-9 按住与放开鼠标 ...................... 465

28-1-10 拖曳鼠标 ............................... 466

28-1-11 窗口滚动scroll( ) .................. 466

28-2 屏幕的处理.................................467

28-2-1 截取屏幕画面 .......................... 467 

28-2-2 裁切屏幕图形 .......................... 467 

28-2-3 获得图像某位置的像素色彩 .. 468 

28-2-4 色彩的比对 .............................. 468 

28-3 使用Python 

控制键盘..................469

28-3-1 基本传送文字 .......................... 469

28-3-2 键盘按键名称 .......................... 469

28-3-3 按下与放开按键 ...................... 471

28-3-4 快捷键 ..................................... 471

第29 章 

SQLite 

与MySQL 

数据库

29-1 SQLite 

基本概念.........................473

29-2 SQLite 

数据库连接......................473

29-3 SQLite 

数据类型.........................473

29-4 建立SQLite 

数据库表..................474

29-5 增加SQLite 

数据库表记录............475

29-6 查询SQLite 

数据库表..................476

29-7 更新SQLite 

数据库表记录............478

29-8 删除SQLite 

数据库表记录............478

29-9 DB 

Browser 

for 

SQLite..............479

29-9-1 安装DB Browser for SQLite ... 479 

29-9-2 建立新的SQLite 数据库......... 479 

29-9-3 开启旧的SQLite 数据库......... 480 

29-10 将人口数据存储至SQLite

数据库..................................480 

29-11 MySQL 

数据库.........................482

29-11-1 安装MySQL .......................... 482

29-11-2 安装PyMySQL 模块 ............. 482

29-11-3 建立空白数据库 .................... 482

29-11-4 建立数据表格 ........................ 483

29-11-5 插入记录 ................................ 484

29-11-6 查询数据库 ............................ 485

29-11-7 增加条件查询数据库 ............ 485

29-11-8 更新数据 ................................ 486

29-11-9 删除数据 ................................ 486

29-11-10 限制笔数 ............................. 487

29-11-11 删除表格 .............................. 487

第30 

章 多任务与多线程

30-

时间模块datetime 

......................490

30-1-1 datetime 模块的数据类型 

datetime ................................... 490 

30-1-2 设定特定时间 .......................... 490 

30-1-3 一段时间timedelta .................. 491 

30-1-4 日期与一段时间相加的应用 .... 491 

30-1-5 将datetime 对象转成字符串 .... 492 

30-

多线程.......................................492

30-2-1 一个睡眠程序设计 ................ 492

30-2-2 建立一个简单的多线程 .......... 493

30-2-3 参数的传送 .............................. 494

30-2-4 线程的命名与取得 .................. 494

30-2-5 Daemon 线程 ........................... 495

30-2-6 堵塞主线程join( ) ................... 496

30-2-7 检查子线程是否仍在工作 

isAlive( ) .................................. 497 

30-2-8 了解正在工作的线程 .............. 498 

30-2-9 自行定义线程和run( ) 方法 ... 499 

30-2-10 资源锁定与解锁

Threading.Lock ...................... 500 

30-2-11 产生锁死 ................................ 502 

30-2-12 资源锁定与解锁

Threading.RLock ................... 502 

30-2-13 高级锁定threading.Condition ... 502 

30-2-14 queue ...................................... 503 

30-2-15 Semaphore ............................. 505 

30-2-16 Barrier .................................... 505 

30-2-17 Event ...................................... 506 

30-

启动其他应用程序subprocess 

模块..........................................507

30-3-1 Popen( ).................................... 507

30-3-2 poll( ) ....................................... 508

30-3-3 wait( ) ....................................... 508

30-3-4 Popen( ) 方法传递参数 ........... 509

30-3-5 使用默认应用程序打开文件 .... 509

30-3-6 subprocess.run( ) ...................... 510

第31 

章 海龟绘图

31-1 基本概念与安装模块....................513

31-2 绘图初体验.................................513

31-3 绘图基本练习..............................513

31-4 控制画笔色彩与线条粗细..............514

31-5 绘制圆、弧形或多边形.................515

31-5-1 绘制圆或弧形 ...................... 515

31-5-2 绘制多边形 .............................. 516

31-6 填满颜色....................................517

31-7 绘图窗口的相关知识....................518

31-8 认识与操作海龟图像....................519

31-8-1 隐藏与显示海龟 ...................... 520

31-8-2 认识所有的海龟光标 .............. 520

31-9 颜色动画的设计...........................521

31-10 文字的输出...............................521

31-11 鼠标与键盘信号.........................522

31-11-1 onclick( )................................ 522

31-11-2 onkey( ) 和listen( )................ 523

31-12 

专题:有趣图案与终止追踪图案

绘制过程..................................524

31-12-1 有趣的图案 ............................ 524

31-12-2 终止追踪绘制过程 ................ 524

31-13 

专题:谢尔宾斯基三角形............524

第32 

章 用Python 

处理QR 

code

32-1 QR 

code 

的应用.........................527

32-2 QR 

code 

的结构.........................527

32-

QR 

code 

的容量.........................528

32-4 建立QR 

code 

基本知识...............528

32-

细看qrcode.make( ) 

方法...........529

32-6 QR 

code 

内有图案......................530

32-

建立含QR 

code 

的名片...............530

作者简介

编辑推荐

Python俨然成为了一种信仰,从AI算法专家到设计师似乎都要不同程度的掌握。在全民Python的状态下,尤其是编程基础比较差的人群中,找到一本真正适合入门的书事关重大!《Python王者归来: 增强版》首先用全彩印刷奠定了与真实开发场景一模一样的阅读体验,所有代码均为编辑器截图,各种标记、颜色、加粗等细节一目了然,在此基础上所有程序语法按照特性分类,同时以实用的程序范例进行解说,让读者可以事半功倍地轻松掌握相关知识。

作者寄语

洪锦魁,中国台湾计算机专家,IT作家。

? DOS时代代表作:汇编语言、C、C++、Pascal、数据结构。

? Windows时代代表作:Windows Programming、Visual Basic。

? Internet时代代表作:网页设计、HTML、JavaScript。

? 大数据时代代表作:R语言。

其作品版权被输出到中国大陆(简体中文)、马来西亚(马来文)、美国(英文)。近年来作品:

? Java王者归来

? Python王者归来

? HTML5 + CSS3王者归来

? R语言迈向大数据之路

    其著作特色:所有程序语法会依特性分类,同时以实用的程序范例进行解说,让读者可以事半功倍地轻松掌握相关知识。

电子资料

www.luweidong.cn

下一个