
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-
8
依据Unicode
字符集的中文编码方式
.
.
从小型串行、元组、字典,到大型数据的建立
.
.
计算两点之间的距离,解说其与人工智能的关联
.
.
使用math
模块与经纬度计算地球任意两点的距离
.
.
使用莱布尼茨公式、蒙特卡罗模拟计算圆周率
.
.
嵌套、closure、lambda、decorator等高阶应用
.
.
建立类别,同时深入讲解装饰器@property、@classmethod
.
.
设计与应用自建模块,活用外部模块
.
.
设计加密与解密程序
.
.
图像处理、文字识别、计算机存储图像的方法
.
.
建立有个人风格的QRcode
与名片
.
.
认识中文分词jieba
与建立词云
.
.
GUI
设计计算器
.
.
动画、音乐与游戏实践
.
.
matplotlib
中英文图表绘制
.
.
处理PDF
文件
.
.
用Python
控制鼠标、屏幕与键盘
.
.
轻量级的数据库SQLite
实践
.
.
多任务与多线程设计
.
.
用海龟绘图设计万花筒与满天星星
.
.
设计机场出入境人脸识别系统
.
.
用网络程序Server
端与Client
端设计聊天室
笔者写过许多计算机领域的著作,本书沿袭笔者写作的特色,程序实例丰富。相信读者只要遵
循本书内容进行学习,必定可以在短时间内精通Python。本书虽力求完美,但谬误难免,尚祈读者
不吝指正。
读者可扫描下方二维码,获得对应学习资源。
洪锦魁
目
录
第
1
章 基本概念
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
章 认识变量与基本数学运算
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
第
3
章 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-
8
字符串前加r ............................... 30
3-
5
字符串与字符..................................30
3-5-1 ASCII 码 ...................................... 30
3-5-2 Unicode 码 ................................... 31
3-5-3 UTF-8 编码 .................................. 31
3-
6
bytes
数据.....................................32
3-6-1 字符串转成bytes 数据................ 32
3-6-2 bytes 数据转成字符串 ................ 33
3-
7
专题:计算地球到月球的时间
/
计算
两点之间的距离..............................33
3-7-1 计算地球到月球所需时间 .......... 33
3-7-2 计算两点之间的距离 .................. 34
第
4
章 基本输入与输出
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-
3
输出数据到文件...............................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
第
5
章 使用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-
1
认识列表........................................64
6-1-
1
列表的基本定义 .......................... 64
6-1-
2
读取列表元素 .............................. 65
6-1-
3
列表切片 ..................................... 66
6-1-
4
列表索引值是-1 ......................... 67
6-1-
5
列表统计数据、最大值max( )、
最小值min( )、总和sum( ) ........ 68
6-1-
6
列表元素个数len( ) .................... 68
6-1-
7
更改列表元素的内容 .................. 69
6-1-
8
列表的相加.................................. 69
6-1-
9
列表乘以一个数字 ...................... 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-
5
列表的排序.....................................78
6-5-1 颠倒排序reverse( ) ..................... 78
6-5-2 sort( ) 排序 ................................... 78
6-5-3 sorted( ) 排序 ............................... 79
6-
6
进阶列表操作..................................80
6-6-1 index( ) ......................................... 80
6-6-2 count( ) ......................................... 80
6-6-3 列表元素的组合join( ) ............... 81
6-
7
列表内含列表..................................81
6-7-1 再谈append( ) ............................. 82
6-7-2 extend( ) ....................................... 82
6-7-3 再看二维列表 .............................. 83
6-
8
列表的赋值与复制...........................84
6-8-1 列表赋值 ..................................... 84
6-8-2 地址的概念.................................. 85
6-8-3 列表的切片复制 .......................... 85
6-8-4 浅复制与深复制 .......................... 85
6-
9
再谈字符串.....................................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
章 循环设计
7-
1
基本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-
2
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-
3
进阶的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-
1
建立集合....................................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-
2
集合的操作.................................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-
3
适用集合的方法...........................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-
1
Python
函数基本概念..................169
11-1-1 函数的定义 .............................. 169
11-1-2 没有传入参数也没有
回传值的函数 .......................... 170
11-1-3 在Python Shell 执行函数 ........ 170
11-
2
函数的参数设计...........................171
11-2-1 传递一个参数 .......................... 171
11-2-2 多个参数传递 .......................... 172
11-2-3 关键词参数:参数名称= 值 .. 173
11-2-4 参数默认值的处理 .................. 173
11-
3
函数回传值.................................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-
4
调用函数时参数是列表.................179
11-4-1 基本传递列表参数的应用 ...... 179
11-4-2 传递一般变量与列表变量到
函数的区别 .............................. 179
11-4-3 在函数内修订列表的内容 ...... 180
11-4-4 使用副本传递列表 .................. 181
11-4-5 传递列表的提醒 ...................... 182
11-
5
传递任意数量的参数....................182
11-5-
1
基本传递处理任意
数量的参数 .............................. 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-
8
在图像内填写文字........................335
第18
章 使用tkinter
开发GUI
程序
18-
1
建立窗口....................................338
18-
2
标签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-
1
绘图功能....................................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-
4
反弹球游戏设计...........................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-
5
专题:使用tkinter
处理谢尔宾斯基
三角形.......................................384
第20
章 数据图表的设计
20-
1
认识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-
4
Numpy
模块...............................400
20-4-
1
建立一个简单的数组
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-
4
取得单一股票的实时
数据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-
3
将Python
应用在json
字符串形式
数据..........................................418
21-3-
1
使用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-
4
将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-
3
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-
5
写入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-
6
专题:使用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-
7
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-
3
读取PDF
页面内容.....................452
27-4 检查PDF
是否被加密..................453
27-
5
解密PDF
文件............................453
27-6 建立新的PDF
文件.....................454
27-
7
页面的旋转.........................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-
1
时间模块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-
2
多线程.......................................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-
3
启动其他应用程序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-
3
QR
code
的容量.........................528
32-4 建立QR
code
基本知识...............528
32-
5
细看qrcode.make( )
方法...........529
32-6 QR
code
内有图案......................530
32-
7
建立含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语言迈向大数据之路
其著作特色:所有程序语法会依特性分类,同时以实用的程序范例进行解说,让读者可以事半功倍地轻松掌握相关知识。