展开全部

主编推荐语

如果你想学习python,这是一本绕不开的好书。

内容简介

《流畅的Python》一书致力于帮助Python开发人员挖掘这门语言及相关程序库的优秀特性,避免重复劳动,同时写出简洁、流畅、易读、易维护,并且具有地道Python风格的代码。

本书尤其深入探讨了Python语言的高级用法,涵盖数据结构、Python风格的对象、并行与并发,以及元编程等不同的方面。

目录

  • 版权信息
  • O'Reilly Media, Inc. 介绍
  • 业界评论
  • 前言
  • 目标读者
  • 非目标读者
  • 本书的结构
  • 以实践为基础
  • 硬件
  • 杂谈:个人的一点看法
  • Python术语表
  • Python版本表
  • 排版约定
  • 使用代码示例
  • Safari® Books Online
  • 联系我们
  • 致谢
  • 电子书
  • 第一部分 序幕
  • 第1章 Python 数据模型
  • 1.1 一摞Python风格的纸牌
  • 1.2 如何使用特殊方法
  • 1.3 特殊方法一览
  • 1.4 为什么len不是普通方法
  • 1.5 本章小结
  • 1.6 延伸阅读
  • 第二部分 数据结构
  • 第2章 序列构成的数组
  • 2.1 内置序列类型概览
  • 2.2 列表推导和生成器表达式
  • 2.3 元组不仅仅是不可变的列表
  • 2.4 切片
  • 2.5 对序列使用+和*
  • 2.6 序列的增量赋值
  • 2.7 list.sort方法和内置函数sorted
  • 2.8 用bisect来管理已排序的序列
  • 2.9 当列表不是首选时
  • 2.10 本章小结
  • 2.11 延伸阅读
  • 第3章 字典和集合
  • 3.1 泛映射类型
  • 3.2 字典推导
  • 3.3 常见的映射方法
  • 3.4 映射的弹性键查询
  • 3.5 字典的变种
  • 3.6 子类化UserDict
  • 3.7 不可变映射类型
  • 3.8 集合论
  • 3.9 dict和set的背后
  • 3.10 本章小结
  • 3.11 延伸阅读
  • 第4章 文本和字节序列
  • 4.1 字符问题
  • 4.2 字节概要
  • 4.3 基本的编解码器
  • 4.4 了解编解码问题
  • 4.5 处理文本文件
  • 4.6 为了正确比较而规范化Unicode字符串
  • 4.7 Unicode文本排序
  • 4.8 Unicode数据库
  • 4.9 支持字符串和字节序列的双模式API
  • 4.10 本章小结
  • 4.11 延伸阅读
  • 第三部分 把函数视作对象
  • 第5章 一等函数
  • 5.1 把函数视作对象
  • 5.2 高阶函数
  • 5.3 匿名函数
  • 5.4 可调用对象
  • 5.5 用户定义的可调用类型
  • 5.6 函数内省
  • 5.7 从定位参数到仅限关键字参数
  • 5.8 获取关于参数的信息
  • 5.9 函数注解
  • 5.10 支持函数式编程的包
  • 5.11 本章小结
  • 5.12 延伸阅读
  • 第6章 使用一等函数实现设计模式
  • 6.1 案例分析:重构“策略”模式
  • 6.2 “命令”模式
  • 6.3 本章小结
  • 6.4 延伸阅读
  • 第7章 函数装饰器和闭包
  • 7.1 装饰器基础知识
  • 7.2 Python何时执行装饰器
  • 7.3 使用装饰器改进“策略”模式
  • 7.4 变量作用域规则
  • 7.5 闭包
  • 7.6 nonlocal声明
  • 7.7 实现一个简单的装饰器
  • 7.8 标准库中的装饰器
  • 7.9 叠放装饰器
  • 7.10 参数化装饰器
  • 7.11 本章小结
  • 7.12 延伸阅读
  • 第四部分 面向对象惯用法
  • 第8章 对象引用、可变性和垃圾回收
  • 8.1 变量不是盒子
  • 8.2 标识、相等性和别名
  • 8.3 默认做浅复制
  • 8.4 函数的参数作为引用时
  • 8.5 del和垃圾回收
  • 8.6 弱引用
  • 8.7 Python对不可变类型施加的把戏
  • 8.8 本章小结
  • 8.9 延伸阅读
  • 第9章 符合Python风格的对象
  • 9.1 对象表示形式
  • 9.2 再谈向量类
  • 9.3 备选构造方法
  • 9.4 classmethod与staticmethod
  • 9.5 格式化显示
  • 9.6 可散列的Vector2d
  • 9.7 Python的私有属性和“受保护的”属性
  • 9.8 使用__slots__类属性节省空间
  • 9.9 覆盖类属性
  • 9.10 本章小结
  • 9.11 延伸阅读
  • 第10章 序列的修改、散列和切片
  • 10.1 Vector类:用户定义的序列类型
  • 10.2 Vector类第1版:与Vector2d类兼容
  • 10.3 协议和鸭子类型
  • 10.4 Vector类第2版:可切片的序列
  • 10.5 Vector类第3版:动态存取属性
  • 10.6 Vector类第4版:散列和快速等值测试
  • 10.7 Vector类第5版:格式化
  • 10.8 本章小结
  • 10.9 延伸阅读
  • 第11章 接口:从协议到抽象基类
  • 11.1 Python文化中的接口和协议
  • 11.2 Python喜欢序列
  • 11.3 使用猴子补丁在运行时实现协议
  • 11.4 Alex Martelli的水禽
  • 11.5 定义抽象基类的子类
  • 11.6 标准库中的抽象基类
  • 11.7 定义并使用一个抽象基类
  • 11.8 Tombola子类的测试方法
  • 11.9 Python使用register的方式
  • 11.10 鹅的行为有可能像鸭子
  • 11.11 本章小结
  • 11.12 延伸阅读
  • 第12章 继承的优缺点
  • 12.1 子类化内置类型很麻烦
  • 12.2 多重继承和方法解析顺序
  • 12.3 多重继承的真实应用
  • 12.4 处理多重继承
  • 12.5 一个现代示例:Django通用视图中的混入
  • 12.6 本章小结
  • 12.7 延伸阅读
  • 第13章 正确重载运算符
  • 13.1 运算符重载基础
  • 13.2 一元运算符
  • 13.3 重载向量加法运算符+
  • 13.4 重载标量乘法运算符*
  • 13.5 众多比较运算符
  • 13.6 增量赋值运算符
  • 13.7 本章小结
  • 13.8 延伸阅读
  • 第五部分 控制流程
  • 第14章 可迭代的对象、迭代器和生成器
  • 14.1 Sentence类第1版:单词序列
  • 14.2 可迭代的对象与迭代器的对比
  • 14.3 Sentence类第2版:典型的迭代器
  • 14.4 Sentence类第3版:生成器函数
  • 14.5 Sentence类第4版:惰性实现
  • 14.6 Sentence类第5版:生成器表达式
  • 14.7 何时使用生成器表达式
  • 14.8 另一个示例:等差数列生成器
  • 14.9 标准库中的生成器函数
  • 14.10 Python 3.3中新出现的句法:yield from
  • 14.11 可迭代的归约函数
  • 14.12 深入分析iter函数
  • 14.13 案例分析:在数据库转换工具中使用生成器
  • 14.14 把生成器当成协程
  • 14.15 本章小结
  • 14.16 延伸阅读
  • 第15章 上下文管理器和else 块
  • 15.1 先做这个,再做那个:if语句之外的else块
  • 15.2 上下文管理器和with块
  • 15.3 contextlib模块中的实用工具
  • 15.4 使用@contextmanager
  • 15.5 本章小结
  • 15.6 延伸阅读
  • 第16章 协程
  • 16.1 生成器如何进化成协程
  • 16.2 用作协程的生成器的基本行为
  • 16.3 示例:使用协程计算移动平均值
  • 16.4 预激协程的装饰器
  • 16.5 终止协程和异常处理
  • 16.6 让协程返回值
  • 16.7 使用yield from
  • 16.8 yield from的意义
  • 16.9 使用案例:使用协程做离散事件仿真
  • 16.10 本章小结
  • 16.11 延伸阅读
  • 第17章 使用future处理并发
  • 17.1 示例:网络下载的三种风格
  • 17.2 阻塞型I/O和GIL
  • 17.3 使用concurrent.futures模块启动进程
  • 17.4 实验Executor.map方法
  • 17.5 显示下载进度并处理错误
  • 17.6 本章小结
  • 17.7 延伸阅读
  • 第18章 使用asyncio包处理并发
  • 18.1 线程与协程对比
  • 18.2 使用asyncio和aiohttp包下载
  • 18.3 避免阻塞型调用
  • 18.4 改进asyncio下载脚本
  • 18.5 从回调到future和协程
  • 18.6 使用asyncio包编写服务器
  • 18.7 本章小结
  • 18.8 延伸阅读
  • 第六部分 元编程
  • 第19章 动态属性和特性
  • 19.1 使用动态属性转换数据
  • 19.2 使用特性验证属性
  • 19.3 特性全解析
  • 19.4 定义一个特性工厂函数
  • 19.5 处理属性删除操作
  • 19.6 处理属性的重要属性和函数
  • 19.7 本章小结
  • 19.8 延伸阅读
  • 第20章 属性描述符
  • 20.1 描述符示例:验证属性
  • 20.2 覆盖型与非覆盖型描述符对比
  • 20.3 方法是描述符
  • 20.4 描述符用法建议
  • 20.5 描述符的文档字符串和覆盖删除操作
  • 20.6 本章小结
  • 20.7 延伸阅读
  • 第21章 类元编程
  • 21.1 类工厂函数
  • 21.2 定制描述符的类装饰器
  • 21.3 导入时和运行时比较
  • 21.4 元类基础知识
  • 21.5 定制描述符的元类
  • 21.6 元类的特殊方法 __prepare__
  • 21.7 类作为对象
  • 21.8 本章小结
  • 21.9 延伸阅读
  • 结语
  • 延伸阅读
  • 附录A 辅助脚本
  • A.1 第3章:in运算符的性能测试
  • A.2 第3章:比较散列后的位模式
  • A.3 第9章:有或没有__slots__ 时,RAM的用量
  • A.4 第14章:转换数据库的isis2json.py脚本
  • A.5 第16章:出租车队离散事件仿真
  • A.6 第17章:加密示例
  • A.7 第17章:flags2系列HTTP客户端示例
  • A.8 第19章:处理OSCON日程表的脚本和测试
  • Python 术语表
  • 作者简介
  • 关于封面
展开全部

评分及书评

5.0
5个评分
  • 用户头像
    给这本书评了
    5.0

    这本书并不是一本完备的 Python 使用手册,而是会强调 Python 作为编程语言独有的特性,这些特性或者是只有 Python 才具备的,或者是在其他大众语言里很少见的。Python 语言核心以及它的一些库会是本书的重点。尽管 Python 的包索引现在已经有 6 万多个库了,而且其中很多都异常实用,但是我几乎不会提到 Python 标准库以外的包。

      转发
      评论
      用户头像
      给这本书评了
      5.0
      代码格式

      缩进没处理好

        转发
        2

      出版方

      人民邮电出版社·图灵出品

      图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。