描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115379597
如果你在编写Python 3程序时需要帮助,或者想更新老的Python 2代码,本书正是你所需要的。本书包含了大量使用Python 3.3编写并测试过的实用编程技巧。对于那些关注现代工具和惯用技巧的有经验的Python程序员来说,本书无可替代。
本书包含了12个以上的完整主题,其范围涵盖了Python语言的核心以及多个应用领域中的常见任务。每一节中包含的示例代码都可以立刻应用到你自己的项目中去,而每节的讨论部分则告诉你解决方案是如何以及为什么能够工作。
本书主题包括:
数据结构和算法;
字符串和文本;
数字、日期和时间;
迭代器和生成器;
文件和I/O;
数据编码与处理;
函数;
类与对象;
元编程;
模块和包;
网络和Web编程;
并发;
实用脚本和系统管理;
测试、调试以及异常;
C语言扩展。
《Python Cookbook(第3版)中文版》介绍了Python应用在各个领域中的一些使用技巧和方法,其主题涵盖了数据结构和算法,字符串和文本,数字、日期和时间,迭代器和生成器,文件和I/O,数据编码与处理,函数,类与对象,元编程,模块和包,网络和Web编程,并发,实用脚本和系统管理,测试、调试以及异常,C语言扩展等。
本书覆盖了Python应用中的很多常见问题,并提出了通用的解决方案。书中包含了大量实用的编程技巧和示例代码,并在Python 3.3环境下进行了测试,可以很方便地应用到实际项目中去。此外,《Python Cookbook(第3版)中文版》还详细讲解了解决方案是如何工作的,以及为什么能够工作。
《Python Cookbook(第3版)中文版》非常适合具有一定编程基础的Python程序员阅读参考。
第1章 数据结构和算法
1.1将序列分解为单独的变量
1.2从任意长度的可迭代对象中分解元素
1.3保存后N个元素
1.4找到或小的N个元素
1.5实现优先级队列
1.6在字典中将键映射到多个值上
1.7让字典保持有序
1.8与字典有关的计算问题
1.9在两个字典中寻找相同点
1.10从序列中移除重复项且保持元素间顺序不变
1.11对切片命名
1.12找出序列中出现次数多的元素
1.13通过公共键对字典列表排序
1.14对不原生支持比较操作的对象排序
1.15根据字段将记录分组
1.16筛选序列中的元素
1.17从字典中提取子集
1.18将名称映射到序列的元素中
1.19同时对数据做转换和换算
1.20将多个映射合并为单个映射
第2章 字符串和文本
2.1针对任意多的分隔符拆分字符串
2.2在字符串的开头或结尾处做文本匹配
2.3利用Shell通配符做字符串匹配
2.4文本模式的匹配和查找
2.5查找和替换文本
2.6以不区分大小写的方式对文本做查找和替换
2.7定义实现短匹配的正则表达式
2.8编写多行模式的正则表达式
2.9将Unicode文本统一表示为规范形式
2.10用正则表达式处理Unicode字符
2.11从字符串中去掉不需要的字符
2.12文本过滤和清理
2.13对齐文本字符串
2.14字符串连接及合并
2.15给字符串中的变量名做插值处理
2.16以固定的列数重新格式化文本
2.17在文本中处理HTML和XML实体
2.18文本分词
2.19编写一个简单的递归下降解析器
2.20在字节串上执行文本操作
第3章 数字、日期和时间
3.1对数值进行取整
3.2执行精确的小数计算
3.3对数值做格式化输出
3.4同二进制、八进制和十六进制数打交道
3.5从字节串中打包和解包大整数
3.6复数运算
3.7处理无穷大和NaN
3.8分数的计算
3.9处理大型数组的计算
3.10矩阵和线性代数的计算
3.11随机选择
3.12时间换算
3.13计算上周5的日期
3.14找出当月的日期范围
3.15将字符串转换为日期
3.16处理涉及到时区的日期问题
第4章 迭代器和生成器
4.1手动访问迭代器中的元素
4.2委托迭代
4.3用生成器创建新的迭代模式
4.4实现迭代协议
4.5反向迭代
4.6定义带有额外状态的生成器函数
4.7对迭代器做切片操作
4.8跳过可迭代对象中的前一部分元素
4.9迭代所有可能的组合或排列
4.10以索引-值对的形式迭代序列
4.11同时迭代多个序列
4.12在不同的容器中进行迭代
4.13创建处理数据的管道
4.14扁平化处理嵌套型的序列
4.15合并多个有序序列,再对整个有序序列进行迭代
4.16用迭代器取代while循环
第5章 文件和I/O
5.1读写文本数据
5.2将输出重定向到文件中
5.3以不同的分隔符或行结尾符完成打印
5.4读写二进制数据
5.5对已不存在的文件执行写入操作
5.6在字符串上执行I/O操作
5.7读写压缩的数据文件
5.8对固定大小的记录进行迭代
5.9将二进制数据读取到可变缓冲区中
5.10对二进制文件做内存映射
5.11处理路径名
5.12检测文件是否存在
5.13获取目录内容的列表
5.14绕过文件名编码
5.15打印无法解码的文件名
5.16为已经打开的文件添加或修改编码方式
5.17将字节数据写入文本文件
5.18将已有的文件描述符包装为文件对象
5.19创建临时文件和目录
5.20同串口进行通信
5.21序列化Python对象
第6章 数据编码与处理
6.1读写CSV数据
6.2读写JSON数据
6.3解析简单的XML文档
6.4以增量方式解析大型XML文件
6.5将字典转换为XML
6.6解析、修改和重写XML
6.7用命名空间来解析XML文档
6.8同关系型数据库进行交互
6.9编码和解码十六进制数字
6.10Base64编码和解码
6.11读写二进制结构的数组
6.12读取嵌套型和大小可变的二进制结构
6.13数据汇总和统计
第7章 函数
7.1编写可接受任意数量参数的函数
7.2编写只接受关键字参数的函数
7.3将元数据信息附加到函数参数上
7.4从函数中返回多个值
7.5定义带有默认参数的函数
7.6定义匿名或内联函数
7.7在匿名函数中绑定变量的值
7.8让带有N个参数的可调用对象以较少的参数形式调用
7.9用函数替代只有单个方法的类
7.10在回调函数中携带额外的状态
7.11内联回调函数
7.12访问定义在闭包内的变量
第8章 类与对象
8.1修改实例的字符串表示
8.2自定义字符串的输出格式
8.3让对象支持上下文管理协议
8.4当创建大量实例时如何节省内存
8.5将名称封装到类中
8.6创建可管理的属性
8.7调用父类中的方法
8.8在子类中扩展属性
8.9创建一种新形式的类属性或实例属性
8.10让属性具有惰性求值的能力
8.11简化数据结构的初始化过程
8.12定义一个接口或抽象基类
8.13实现一种数据模型或类型系统
8.14实现自定义的容器
8.15委托属性的访问
8.16在类中定义多个构造函数
8.17不通过调用init来创建实例
8.18用Mixin技术来扩展类定义
8.19实现带有状态的对象或状态机
8.20调用对象上的方法,方法名以字符串形式给出
8.21实现访问者模式
8.22实现非递归的访问者模式
8.23在环状数据结构中管理内存
8.24让类支持比较操作
8.25创建缓存实例
第9章 元编程
9.1给函数添加一个包装
9.2编写装饰器时如何保存函数的元数据
9.3对装饰器进行解包装
9.4定义一个可接受参数的装饰器
9.5定义一个属性可由用户修改的装饰器
9.6定义一个能接收可选参数的装饰器
9.7利用装饰器对函数参数强制执行类型检查
9.8在类中定义装饰器
9.9把装饰器定义成类
9.10把装饰器作用到类和静态方法上
9.11编写装饰器为被包装的函数添加参数
9.12利用装饰器给类定义打补丁
9.13利用元类来控制实例的创建
9.14获取类属性的定义顺序
9.15定义一个能接受可选参数的元类
9.16在*args和**kwargs上强制规定一种参数签名
9.17在类中强制规定编码约定
9.18通过编程的方式来定义类
9.19在定义的时候初始化类成员
9.20通过函数注解来实现方法重载
9.21避免出现重复的属性方法
9.22以简单的方式定义上下文管理器
9.23执行带有局部副作用的代码
9.24解析并分析Python源代码
9.25将Python源码分解为字节码
第10章 模块和包
10.1把模块按层次结构组织成包
10.2对所有符号的导入进行精确控制
10.3用相对名称来导入包中的子模块
10.4将模块分解成多个文件
10.5让各个目录下的代码在统一的命名空间下导入
10.6重新加载模块
10.7让目录或zip文件成为可运行的脚本
10.8读取包中的数据文件
10.9添加目录到sys.path中
10.10使用字符串中给定的名称来导入模块
……
第11章 网络和Web编程
第12章 并发
第13章 实用脚本和系统管理
第14章 测试、调试以及异常
第15章 C语言扩展
附录A 补充阅读
冷冰鱼 –
python进阶知识,通读后当手册使用吧