【进阶】《Python Cookbook》 (第3版)
书名:《Python Cookbook》 (第3版)
作者:大卫·比斯利 (David Beazley),布莱恩·K.琼斯 (Brian K.Jones)
译者:陈舸
出版社:人民邮电出版社
出版年:第1版 (2015年5月1日)
定价:108.00
装帧:平装
ISBN:9787115379597
购买链接:
亚马逊 -> 传送门
当当网 -> 传送门
京东 -> 传送门
天猫 -> 传送门
内容简介:
《Python Cookbook(第3版)中文版》介绍了Python应用在各个领域中的一些使用技巧和方法,其主题涵盖了数据结构和算法,字符串和文本,数字、日期和时间,迭代器和生成器,文件和I/O,数据编码与处理,函数,类与对象,元编程,模块和包,网络和Web编程,并发,实用代码和系统管理,测试、调试以及异常,C语言扩展等。
本书覆盖了Python应用中的很多常见问题,并提出了通用的解决方案。书中包含了大量实用的编程技巧和示例代码,并在Python 3.3环境下进行了测试,可以很方便地应用到实际项目中去。此外,《Python Cookbook(第3版)》还详细讲解了解决方案是如何工作的,以及为什么能够工作。
《Python Cookbook(第3版)》非常适合具有一定编程基础的Python程序员阅读参考。
目录:
第1章数据结构和算法1
1.1将序列分解为单独的变量1
1.2从任意长度的可迭代对象中分解元素3
1.3保存最后N个元素5
1.4找到最大或最小的N个元素7
1.5实现优先级队列9
1.6在字典中将键映射到多个值上11
1.7让字典保持有序13
1.8与字典有关的计算问题14
1.9在两个字典中寻找相同点15
1.10从序列中移除重复项且保持元素间顺序不变17
1.11对切片命名18
1.12找出序列中出现次数最多的元素20
1.13通过公共键对字典列表排序22
1.14对不原生支持比较操作的对象排序23
1.15根据字段将记录分组25
1.16筛选序列中的元素26
1.17从字典中提取子集29
1.18将名称映射到序列的元素中30
1.19同时对数据做转换和换算33
1.20将多个映射合并为单个映射34
第2章字符串和文本37
2.1针对任意多的分隔符拆分字符串37
2.2在字符串的开头或结尾处做文本匹配38
2.3利用Shell通配符做字符串匹配40
2.4文本模式的匹配和查找42
2.5查找和替换文本45
2.6以不区分大小写的方式对文本做查找和替换47
2.7定义实现最短匹配的正则表达式48
2.8编写多行模式的正则表达式49
2.9将Unicode文本统一表示为规范形式50
2.10用正则表达式处理Unicode字符52
2.11从字符串中去掉不需要的字符53
2.12文本过滤和清理54
2.13对齐文本字符串57
2.14字符串连接及合并59
2.15给字符串中的变量名做插值处理62
2.16以固定的列数重新格式化文本64
2.17在文本中处理HTML和XML实体66
2.18文本分词67
2.19编写一个简单的递归下降解析器70
2.20在字节串上执行文本操作80
第3章数字、日期和时间83
3.1对数值进行取整83
3.2执行精确的小数计算85
3.3对数值做格式化输出87
3.4同二进制、八进制和十六进制数打交道89
3.5从字节串中打包和解包大整数90
3.6复数运算92
3.7处理无穷大和NaN94
3.8分数的计算96
3.9处理大型数组的计算97
3.10矩阵和线性代数的计算101
3.11随机选择103
3.12时间换算105
3.13计算上周5的日期107
3.14找出当月的日期范围108
3.15将字符串转换为日期110
3.16处理涉及到时区的日期问题112
第4章迭代器和生成器114
4.1手动访问迭代器中的元素114
4.2委托迭代115
4.3用生成器创建新的迭代模式116
4.4实现迭代协议118
4.5反向迭代121
4.6定义带有额外状态的生成器函数122
4.7对迭代器做切片操作123
4.8跳过可迭代对象中的前一部分元素124
4.9迭代所有可能的组合或排列127
4.10以索引—值对的形式迭代序列129
4.11同时迭代多个序列131
4.12在不同的容器中进行迭代133
4.13创建处理数据的管道134
4.14扁平化处理嵌套型的序列137
4.15合并多个有序序列,再对整个有序序列进行迭代139
4.16用迭代器取代while循环140
第5章文件和I/O 142
5.1读写文本数据142
5.2将输出重定向到文件中145
5.3以不同的分隔符或行结尾符完成打印145
5.4读写二进制数据146
5.5对已不存在的文件执行写入操作149
5.6在字符串上执行I/O操作150
5.7读写压缩的数据文件151
5.8对固定大小的记录进行迭代152
5.9将二进制数据读取到可变缓冲区中153
5.10对二进制文件做内存映射155
5.11处理路径名157
5.12检测文件是否存在158
5.13获取目录内容的列表159
5.14绕过文件名编码161
5.15打印无法解码的文件名162
5.16为已经打开的文件添加或修改编码方式164
5.17将字节数据写入文本文件166
5.18将已有的文件描述符包装为文件对象167
5.19创建临时文件和目录169
5.20同串口进行通信171
5.21序列化Python对象172
第6章数据编码与处理177
6.1读写CSV数据177
6.2读写JSON数据181
6.3解析简单的XML文档186
6.4以增量方式解析大型XML文件188
6.5将字典转换为XML192
6.6解析、修改和重写XML194
6.7用命名空间来解析XML文档196
6.8同关系型数据库进行交互198
6.9编码和解码十六进制数字201
6.10Base64编码和解码202
6.11读写二进制结构的数组203
6.12读取嵌套型和大小可变的二进制结构207
6.13数据汇总和统计218
第7章函数221
7.1编写可接受任意数量参数的函数221
7.2编写只接受关键字参数的函数223
7.3将元数据信息附加到函数参数上224
7.4从函数中返回多个值225
7.5定义带有默认参数的函数226
7.6定义匿名或内联函数229
7.7在匿名函数中绑定变量的值230
7.8让带有N个参数的可调用对象以较少的参数形式调用232
7.9用函数替代只有单个方法的类235
7.10在回调函数中携带额外的状态236
7.11内联回调函数240
7.12访问定义在闭包内的变量242
第8章类与对象246
8.1修改实例的字符串表示246
8.2自定义字符串的输出格式248
8.3让对象支持上下文管理协议249
8.4当创建大量实例时如何节省内存251
8.5将名称封装到类中252
8.6创建可管理的属性254
8.7调用父类中的方法259
8.8在子类中扩展属性263
8.9创建一种新形式的类属性或实例属性267
8.10让属性具有惰性求值的能力271
8.11简化数据结构的初始化过程274
8.12定义一个接口或抽象基类278
8.13实现一种数据模型或类型系统281
8.14实现自定义的容器287
8.15委托属性的访问291
8.16在类中定义多个构造函数296
8.17不通过调用init来创建实例298
8.18用Mixin技术来扩展类定义299
8.19实现带有状态的对象或状态机305
8.20调用对象上的方法,方法名以字符串形式给出311
8.21实现访问者模式312
8.22实现非递归的访问者模式317
8.23在环状数据结构中管理内存324
8.24让类支持比较操作327
8.25创建缓存实例330
第9章元编程335
9.1给函数添加一个包装335
9.2编写装饰器时如何保存函数的元数据337
9.3对装饰器进行解包装339
9.4定义一个可接受参数的装饰器341
9.5定义一个属性可由用户修改的装饰器342
9.6定义一个能接收可选参数的装饰器346
9.7利用装饰器对函数参数强制执行类型检查348
9.8在类中定义装饰器352
9.9把装饰器定义成类354
9.10把装饰器作用到类和静态方法上357
9.11编写装饰器为被包装的函数添加参数359
9.12利用装饰器给类定义打补丁362
9.13利用元类来控制实例的创建364
9.14获取类属性的定义顺序367
9.15定义一个能接受可选参数的元类370
9.16在*args和**kwargs上强制规定一种参数签名372
9.17在类中强制规定编码约定375
9.18通过编程的方式来定义类378
9.19在定义的时候初始化类成员382
9.20通过函数注解来实现方法重载384
9.21避免出现重复的属性方法391
9.22以简单的方式定义上下文管理器393
9.23执行带有局部副作用的代码395
9.24解析并分析Python源代码398
9.25将Python源码分解为字节码402
第10章模块和包406
10.1把模块按层次结构组织成包406
10.2对所有符号的导入进行精确控制407
10.3用相对名称来导入包中的子模块408
10.4将模块分解成多个文件410
10.5让各个目录下的代码在统一的命名空间下导入413
10.6重新加载模块415
10.7让目录或zip文件成为可运行的代码416
10.8读取包中的数据文件417
10.9添加目录到sys.path中418
10.10使用字符串中给定的名称来导入模块
10.11利用import钩子从远端机器上加载模块
10.12在模块加载时为其打补丁
10.13安装只为自己所用的包
10.14创建新的Python环境
10.15发布自定义的包
第11章网络和Web编程
11.1以客户端的形式同HTTP服务交互
11.2创建一个TCP服务器
11.3创建一个UDP服务器
11.4从CIDR地址中生成IP地址的范围
11.5创建基于REST风格的简单接口
11.6利用XML—RPC实现简单的远端过程调用
11.7在不同的解释器间进行通信
11.8实现远端过程调用
11.9以简单的方式验证客户端身份
11.10为网络服务增加SSL支持
11.11在进程间传递socket文件描述符
11.12理解事件驱动型I/O
11.13发送和接收大型数组
第12章并发
12.1启动和停止线程
12.2判断线程是否已经启动
12.3线程间通信
12.4对临界区加锁
12.5避免死锁
12.6保存线程专有状态
12.7创建线程池
12.8实现简单的并行编程
12.9如何规避GIL带来的限制
12.10定义一个Actor任务
12.11实现发布者/订阅者消息模式
12.12使用生成器作为线程的替代方案
12.13轮询多个线程队列
12.14在UNIX上加载守护进程
……
第13章实用代码和系统管理
第14章测试、调试以及异常
第15章C语言扩展
附录A补充阅读
我有 这个版本的 pdf 谢谢分享 这本书太好了 我正好需要
不过我听说这本书适合有一定基础的人看的 不知道是不是 年少风 发表于 2018-4-17 21:45
我有 这个版本的 pdf
请问可以分享吗? 浪子燕青 发表于 2018-11-11 11:27
请问可以分享吗?
关注公众号 :Ai大数据与机器学习 年少风 发表于 2018-11-17 13:41
关注公众号 :Ai大数据与机器学习
回复 :书籍福利
页:
[1]