展开全部

主编推荐语

本书不是简单的代码片段合集,而是能让你深入理解Python的内在原理,并欣赏其优美之处。

内容简介

本书致力于帮助Python开发人员挖掘这门语言及相关程序库的优秀特性,避免重复劳动,同时写出简洁、流畅、易读、易维护的代码。用好Python需要了解的最重要的特性、Python2过渡到Python3需要掌握的现代模式、有其他编程语言背景想快速上手Python的程序员需要特别注意的问题,等等,本书都可以解决。

目录

  • 版权信息
  • Python高手对本书的评论
  • 第1章 简介
  • 1.1 什么是Python技巧
  • 1.2 本书作用
  • 1.3 如何阅读本书
  • 第2章 Python整洁之道
  • 2.1 用断言加一层保险
  • 2.1.1 示例:Python中的断言
  • 2.1.2 为什么不用普通的异常来处理
  • 2.1.3 Python的断言语法
  • 2.1.4 常见陷阱
  • 2.1.5 Python断言总结
  • 2.1.6 关键要点
  • 2.2 巧妙地放置逗号
  • 关键要点
  • 2.3 上下文管理器和with语句
  • 2.3.1 在自定义对象中支持with
  • 2.3.2 用上下文管理器编写漂亮的API
  • 2.3.3 关键要点
  • 2.4 下划线、双下划线及其他
  • 2.4.1 前置单下划线:_var
  • 2.4.2 后置单下划线:var_
  • 2.4.3 前置双下划线:__var
  • 2.4.4 前后双下划线:__var__
  • 2.4.5 单下划线:_
  • 2.4.6 关键要点
  • 2.5 字符串格式化中令人震惊的真相
  • 2.5.1 第一种方法:“旧式”字符串格式化
  • 2.5.2 第二种方法:“新式”字符串格式化
  • 2.5.3 第三种方法:字符串字面值插值(Python 3.6+)
  • 2.5.4 第四种方法:模板字符串
  • 2.5.5 如何选择字符串格式化方法
  • 2.5.6 关键要点
  • 2.6 “Python之禅”中的彩蛋
  • 第3章 高效的函数
  • 3.1 函数是Python的头等对象
  • 3.1.1 函数是对象
  • 3.1.2 函数可存储在数据结构中
  • 3.1.3 函数可传递给其他函数
  • 3.1.4 函数可以嵌套
  • 3.1.5 函数可捕捉局部状态
  • 3.1.6 对象也可作为函数使用
  • 3.1.7 关键要点
  • 3.2 lambda是单表达式函数
  • 3.2.1 lambda的使用场景
  • 3.2.2 不应过度使用lambda
  • 3.2.3 关键要点
  • 3.3 装饰器的力量
  • 3.3.1 Python装饰器基础
  • 3.3.2 装饰器可以修改行为
  • 3.3.3 将多个装饰器应用于一个函数
  • 3.3.4 装饰接受参数的函数
  • 3.3.5 如何编写“可调试”的装饰器
  • 3.3.6 关键要点
  • 3.4 有趣的*args和**kwargs
  • 3.4.1 传递可选参数或关键字参数
  • 3.4.2 关键要点
  • 3.5 函数参数解包
  • 关键要点
  • 3.6 返回空值
  • 关键要点
  • 第4章 类与面向对象
  • 4.1 对象比较:is与==
  • 4.2 字符串转换(每个类都需要__repr__)
  • 4.2.1 __str__与__repr__
  • 4.2.2 为什么每个类都需要__repr__
  • 4.2.3 的差异:__unicode__
  • 4.2.4 关键要点
  • 4.3 定义自己的异常类
  • 关键要点
  • 4.4 克隆对象
  • 4.4.1 制作浅副本
  • 4.4.2 制作深副本
  • 4.4.3 复制任意对象
  • 4.4.4 关键要点
  • 4.5 用抽象基类避免继承错误
  • 关键要点
  • 4.6 namedtuple的优点
  • 4.6.1 namedtuple上场
  • 4.6.2 子类化namedtuple
  • 4.6.3 内置的辅助方法
  • 4.6.4 何时使用namedtuple
  • 4.6.5 关键要点
  • 4.7 类变量与实例变量的陷阱
  • 4.7.1 与狗无关的例子
  • 4.7.2 关键要点
  • 4.8 实例方法、类方法和静态方法揭秘
  • 4.8.1 实例方法
  • 4.8.2 类方法
  • 4.8.3 静态方法
  • 4.8.4 在实践中探寻
  • 4.8.5 使用@classmethod的Pizza工厂类
  • 4.8.6 什么时候使用静态方法
  • 4.8.7 关键要点
  • 第5章 Python中常见的数据结构
  • 5.1 字典、映射和散列表
  • 5.1.1 dict——首选字典实现
  • 5.1.2 collections.OrderedDict——能记住键的插入顺序
  • 5.1.3 collections.defaultdict——为缺失的键返回默认值
  • 5.1.4 collections.ChainMap——搜索多个字典
  • 5.1.5 types.MappingProxyType——用于创建只读字典
  • 5.1.6 Python中的字典:总结
  • 5.1.7 关键要点
  • 5.2 数组数据结构
  • 5.2.1 列表——可变动态数组
  • 5.2.2 元组——不可变容器
  • 5.2.3 array.array——基本类型数组
  • 5.2.4 str——含有Unicode字符的不可变数组
  • 5.2.5 bytes——含有单字节的不可变数组
  • 5.2.6 bytearray——含有单字节的可变数组
  • 5.2.7 关键要点
  • 5.3 记录、结构体和纯数据对象
  • 5.3.1 字典——简单数据对象
  • 5.3.2 元组——不可变对象集合
  • 5.3.3 编写自定义类——手动精细控制
  • 5.3.4 collections.namedtuple——方便的数据对象
  • 5.3.5 typing.NamedTuple——改进版namedtuple
  • 5.3.6 struct.Struct——序列化C结构体
  • 5.3.7 types.SimpleNamespace——花哨的属性访问
  • 5.3.8 关键要点
  • 5.4 集合和多重集合
  • 5.4.1 set——首选集合实现
  • 5.4.2 frozenset——不可变集合
  • 5.4.3 collections.Counter——多重集合
  • 5.4.4 关键要点
  • 5.5 栈(后进先出)
  • 5.5.1 列表——简单的内置栈
  • 5.5.2 collections.deque——快速且稳健的栈
  • 5.5.3 queue.LifoQueue——为并行计算提供锁语义
  • 5.5.4 比较Python中各个栈的实现
  • 5.5.5 关键要点
  • 5.6 队列(先进先出)
  • 5.6.1 列表——非常慢的队列
  • 5.6.2 collections.deque——快速和稳健的队列
  • 5.6.3 queue.Queue——为并行计算提供的锁语义
  • 5.6.4 multiprocessing.Queue——共享作业队列
  • 5.6.5 关键要点
  • 5.7 优先队列
  • 5.7.1 列表——手动维护有序队列
  • 5.7.2 heapq——基于列表的二叉堆
  • 5.7.3 queue.PriorityQueue——美丽的优先级队列
  • 5.7.4 关键要点
  • 第6章 循环和迭代
  • 6.1 编写有Python特色的循环
  • 关键要点
  • 6.2 理解解析式
  • 关键要点
  • 6.3 列表切片技巧与寿司操作员
  • 关键要点
  • 6.4 美丽的迭代器
  • 6.4.1 无限迭代
  • 6.4.2 for-in循环在Python中的工作原理
  • 6.4.3 更简单的迭代器类
  • 6.4.4 不想无限迭代
  • 6.4.5 兼容性
  • 6.4.6 关键要点
  • 6.5 生成器是简化版迭代器
  • 6.5.1 无限生成器
  • 6.5.2 能够停下来的生成器
  • 6.5.3 关键要点
  • 6.6 生成器表达式
  • 6.6.1 生成器表达式与列表解析式
  • 6.6.2 过滤值
  • 6.6.3 内联生成器表达式
  • 6.6.4 物极必反
  • 6.6.5 关键要点
  • 6.7 迭代器链
  • 关键要点
  • 第7章 字典技巧
  • 7.1 字典默认值
  • 关键要点
  • 7.2 字典排序
  • 关键要点
  • 7.3 用字典模拟switch/case语句
  • 关键要点
  • 7.4 “最疯狂”的字典表达式
  • 关键要点
  • 7.5 合并词典的几种方式
  • 关键要点
  • 7.6 美观地输出字典
  • 关键要点
  • 第8章 Python式高效技巧
  • 8.1 探索Python的模块和对象
  • 关键要点
  • 8.2 用virtualenv隔离项目依赖关系
  • 8.2.1 使用虚拟环境
  • 8.2.2 关键要点
  • 8.3 一窥字节码的究竟
  • 关键要点
  • 第9章 结语
  • 9.1 针对Python开发者免费每周提示
  • 9.2 PythonistaCafe:Python开发人员的社区
  • 看完了
展开全部

评分及书评

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

    详细描述了 python 的常用特性,建议刚入门的小伙伴们学习下

      转发
      评论
      用户头像
      给这本书评了
      5.0
      很有收获

      我不是一次性看完的,是查资料的时候读一点,然后又觉得有趣,又在继续读下去。很多小技巧都很有用。建议得到可以做一个已读完此小节的记录,这样子可以确定自己是不是把全部章节都读完了。

        转发
        评论
        用户头像
        给这本书评了
        5.0
        质量很高的一本书,收获不小

        印象最深刻的书 3.6 之后的版本,字典变为有序,书里详细讲解了变化前后字典的实现方式,非常通俗易懂

          转发
          评论

        出版方

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

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