
作者:洪锦魁
页数:562
出版社:清华大学出版社
出版日期:2021
ISBN:9787302579779
电子书格式:pdf/epub/txt
内容简介
Python的丰富模块(module)以及广泛的应用范围,使Python成为当下重要的计算机语言之一。 《Python王者归来(增强版)》尝试将Python常用模块与应用分门别类组织起来,相信只要读者遵循《Python王者归来(增强版)》实例,一定可以轻松学会Python语法与应用,逐步向Python高手之路迈进,这也是撰写《Python王者归来(增强版)》的目的。 为了提升阅读体验,《Python王者归来(增强版)》为彩色印刷,在图书结构、案例选择以及代码样式上都进行了细心设计,力争呈现给读者一本与众不同的编程图书。 《Python王者归来(增强版)》适合所有对Python编程感兴趣的读者阅读,同时也可以作为院校和培训机构的相关专业教材。 《Python王者归来(增强版)》是一本专为没有编程基础的读者编写的入门Python书籍,《Python王者归来(增强版)》从Python风格说起,抛弃C、C++、Java思维,全面剖析Python的语法、内涵与精神,完全融入Python工程师的逻辑与设计风格。 《Python王者归来(增强版)》特色在于使用大量灵活的程序实例对Python编程知识进行说明,相信读者只要遵循《Python王者归来(增强版)》内容进行学习,必定可以在短时间内精通Python。
作者简介
洪锦魁,中国台湾计算机专家,IT作家。
?? DOS时代代表作:汇编语言、C、C++、Pascal、数据结构。
?? Windows时代代表作:Windows Programming、Visual Basic。
?? Internet时代代表作:网页设计、HTML、JavaScript。
?? 大数据时代代表作:R语言。
其作品版权被输出到中国大陆(简体中文)、马来西亚(马来文)、美国(英文)。近年来作品:
?? Java王者归来
?? Python王者归来
?? HTML5 + CSS3王者归来
?? R语言迈向大数据之路 其著作特色:所有程序语法会依特性分类,同时以实用的程序范例进行解说,让读者可以事半功倍地轻松掌握相关知识。
本书特色
Python俨然成为了一种信仰,从AI算法专家到设计师似乎都要不同程度的掌握。在全民Python的状态下,尤其是编程基础比较差的人群中,找到一本真正适合入门的书事关重大!《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 聪明地使用字符串加法和换
行
字符 ………………………………….. 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
_x00C_
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
_x00C_
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
_x00C_
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
_x00C_
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
_x00C_
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
_x00C_
第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
_x00C_
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
_x00C_
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
处理谢尔宾斯基
三角形……………………………















