《Python学习手册:第4版》(Learning Python, Fourth Edition)文字版电子书[PDF]
内容简介:
Google和YouTube由于Python的高可适应性、易于维护以及适合于快速开发而采用它。如果你想要编写高质量、高效的并且易于与其他语言和工具集成的代码,《Python学习手册:第4 版》将帮助你使用Python快速实现这一点,不管你是编程新手还是Python初学者。本书是易于掌握和自学的教程,根据作者Python专家Mark Lutz的著名培训课程编写而成。
《Python学习手册:第4版》每一章都包含关于Python语言的关键内容的独立的一课,并且包含了一个独特的“练习题”部分,其中带有实际的练习和测试,以便你可以练习新的技能并随着学习而测试自己的理解。你会发现众多带有注释的示例以及图表,它们将帮助你开始学习Python 3.0。
《Python学习手册:第4版》包括以下内容:
学习Python的主要内建对象类型:数字、列表和字典。
使用Python语句创建和处理对象,并且学习Python的通用语法模型。
使用函数构造和重用代码,函数是Python的基本过程工具。
学习Python模块:封装语句、函数以及其他工具,从而可以组织成较大的组件。
Python的面向对象编程工具,用于组织程序代码。
学习异常处理模型,以及用于编写较大程序的开发工具。
了解包括装饰器、描述器、元类和Unicode处理等高级Python工具。
作者简介:
作为全球Python培训界的领军人物,《Python学习手册:第4版》作者Mark Lutz是Python最畅销书籍的作者,也是Python社区的先驱。
Mark 是O'Reilly出版的《Programming Python》和《Python Pocket Reference》的作者,这两本书于2009年都已经出版了第3版。Mark自1992年开始接触Python,1995年开始撰写有关Python的书籍,从1997年开始教授Python课程。截止到2009年,他已经开办了225个Python短期培训课程,教授了大约3500名学习者,销售了大约25万册有关Python的书籍。许多书被翻译成十多种语言。
此外,Mark拥有威斯康星大学计算机科学学士和硕士学位,在过去的25年中,他主要从事编译器、编程工具、脚本程序以及各种客户端/服务器系统方面的工作。你也可以通过访问http://www.rmi.net/~lutz与他取得联系。
前言 1
第一部分 使用入门
第1章 问答环节 19
人们为何使用Python 19
软件质量 20
开发效率 21
Python是“脚本语言”吗 21
好吧,Python的缺点是什么呢 23
如今谁在使用Python 23
使用Python可以做些什么 24
系统编程 25
用户图形接口 25
Internet脚本 25
组件集成 26
数据库编程 26
快速原型 27
数值计算和科学计算编程 27
游戏、图像、人工智能、XML、机器人等 27
Python如何获得支持 28
Python有哪些技术上的优点 28
面向对象 28
免费 29
可移植 29
功能强大 30
可混合 31
简单易用 31
简单易学 32
Python和其他语言比较起来怎么样 32
本章小结 33
本章习题 33
习题解答 34
Python是工程,不是艺术 34
第2章 Python如何运行程序 36
Python解释器简介 36
程序执行 37
程序员的视角 37
Python的视角 39
执行模块的变体 41
Python实现的替代者 42
执行优化工具 43
冻结二进制文件 44
其他执行选项 45
未来的可能性 46
本章小结 46
本章习题 47
习题解答 47
第3章 如何运行程序 48
交互提示模式下编写代码 48
交互地运行代码 49
为什么使用交互提示模式 51
使用交互提示模式 52
系统命令行和文件 54
第一段脚本 55
使用命令行运行文件 56
使用命令行和文件 57
UNIX可执行脚本(#!) 58
UNIX env查找技巧 59
点击文件图标 60
在Windows中点击图标 60
input的技巧 61
图标点击的其他限制 63
模块导入和重载 63
模块的显要特性:属性 65
import和reload的使用注意事项 68
使用exec运行模块文件 69
IDLE用户界面 70
IDLE基础 71
使用IDLE 72
高级IDLE工具 74
其他的IDE 74
其他启动选项 76
嵌入式调用 76
冻结二进制的可执行性 77
文本编辑器启动的选择 77
其他的启动选择 77
未来的可能 77
我应该选用哪种 78
调试Python代码 78
本章小结 80
本章习题 80
习题解答 80
第一部分 练习题 81
第二部分 类型和运算
第4章 介绍Python对象类型 87
为什么使用内置类型 88
Python的核心数据类型 88
数字 90
字符串 92
序列的操作 92
不可变性 94
类型特定的方法 94
寻求帮助 96
编写字符串的其他方法 97
模式匹配 98
列表 98
序列操作 98
类型特定的操作 99
边界检查 100
嵌套 100
列表解析 101
字典 103
映射操作 103
重访嵌套 104
键的排序:for 循环 105
迭代和优化 107
不存在的键:if 测试 107
元组 109
为什么要用元组 109
文件 110
其他文件类工具 111
其他核心类型 111
如何破坏代码的灵活性 113
用户定义的类 114
剩余的内容 115
本章小结 115
本章习题 116
习题解答 116
第5章 数字 117
Python的数字类型 117
数字常量 118
内置数学工具和扩展 119
Python表达式操作符 120
在实际应用中的数字 125
变量和基本的表达式 125
数字显示的格式 126
比较:一般的和连续的 127
str和repr显示格式 128
除法: 传统除法、Floor除法和真除法 129
整数精度 133
复数 133
十六进制、八进制和二进制记数 134
位操作 136
其他的内置数学工具 137
其他数字类型 139
小数数字 139
分数类型 141
集合 145
布尔型 151
数字扩展 152
本章小结 153
本章习题 153
习题解答 153
第6章 动态类型简介 155
缺少类型声明语句的情况 155
变量、对象和引用 156
类型属于对象,而不是变量 157
对象的垃圾收集 158
共享引用 159
共享引用和在原处修改 161
共享引用和相等 163
动态类型随处可见 164
本章小结 165
本章习题 165
习题解答 165
第7章 字符串 167
字符串常量 169
单双引号字符串是一样的 170
用转义序列代表特殊字节 171
raw字符串抑制转义 173
三重引号编写多行字符串块 175
实际应用中的字符串 176
基本操作 176
索引和分片 177
为什么要在意:分片 181
字符串转换工具 181
修改字符串 184
字符串方法 185
字符串方法实例:修改字符串 187
字符串方法实例:文本解析 189
实际应用中的其他常见字符串方法 190
最初的字符串模块(在Python 3.0中删除) 191
字符串格式化表达式 192
更高级的字符串格式化表达式 194
基于字典的字符串格式化 196
字符串格式化调用方法 196
基础知识 197
添加键、属性和偏移量 198
添加具体格式化 198
与%格式化表达式比较 200
为什么用新的格式化方法 203
通常意义下的类型分类 206
同样分类的类型共享其操作集合 206
可变类型能够在原处修改 207
本章小结 208
本章习题 208
习题解答 208
第8章 列表与字典 210
列表 210
实际应用中的列表 213
基本列表操作 213
列表迭代和解析 213
索引、分片和矩阵 214
原处修改列表 215
字典 220
实际应用中的字典 222
字典的基本操作 222
原处修改字典 223
其他字典方法 224
语言表 225
字典用法注意事项 226
为什么要在意字典接口 229
创建字典的其他方法 230
Python 3.0中的字典变化 231
本章小结 237
本章习题 237
习题解答 237
第9章 元组、文件及其他 239
元组 239
实际应用中的元组 241
为什么有了列表还要元组 243
文件 243
打开文件 244
使用文件 245
实际应用中的文件 246
其他文件工具 252
重访类型分类 254
为什么要在意操作符重载 255
对象灵活性 255
引用 VS 拷贝 256
比较、相等性和真值 258
Python 3.0的字典比较 260
Python中真和假的含义 261
Python的类型层次 263
Type对象 263
Python中的其他类型 265
内置类型陷阱 265
赋值生成引用,而不是拷贝 265
重复能够增加层次深度 266
留意循环数据结构 266
不可变类型不可以在原处改变 267
本章小结 267
本章习题 268
习题解答 268
第二部分练习题 269
第三部分 语句和语法
第10章 Python语句简介 275
重访Python程序结构 275
Python的语句 276
两个if的故事 278
Python增加了什么 279
Python删除了什么 279
为什么使用缩进语法 281
几个特殊实例 283
简短实例:交互循环 285
一个简单的交互式循环 285
对用户输入数据做数学运算 287
用测试输入数据来处理错误 288
用try语句处理错误 289
嵌套代码三层 290
本章小结 290
本章习题 291
习题解答 291
第11章 赋值、表达式和打印 292
赋值语句 292
赋值语句的形式 293
序列赋值 294
Python 3.0中的扩展序列解包 297
多目标赋值语句 301
增强赋值语句 302
变量命名规则 305
Python的废弃协议 306
表达式语句 308
表达式语句和在原处的修改 309
打印操作 310
Python 3.0的print函数 311
Python 2.6 print语句 313
打印流重定向 315
版本独立的打印 318
为什么要注意print和stdout 319
本章小结 320
本章习题 321
习题解答 321
……
第39章 元类 1046
要么是元类,要么不是元类 1046
提高魔力层次 1047
“辅助”函数的缺点 1049
元类与类装饰器的关系:第一回合 1051
元类模型 1053
类是类型的实例 1053
元类是Type的子类 1055
Class语句协议 1056
声明元类 1057
编写元类 1058
基本元类 1058
定制构建和初始化 1059
其他元类编程技巧 1060
实例与继承的关系 1063
示例:向类添加方法 1064
手动扩展 1064
基于元类的扩展 1065
元类与类装饰器的关系:第二回合 1067
示例:对方法应用装饰器 1070
用装饰器手动跟踪 1070
用元类和装饰器跟踪 1071
把任何装饰器应用于方法 1073
元类与类装饰器的关系:第三回合 1074
“可选的”语言功能 1076
本章小结 1078
本章习题 1078
习题解答 1078
第九部分 附录注2
附录A 安装和配置 1083
附录B 各部分练习题的解答 1093