《流畅的 Python》笔记 01 - 导读

本书特点

受到其他语言的影响,你大概能猜到 Python 会支持正则表达式,然后就会去查阅文档。 但是如果你从来没见过元组拆包(tuple unpacking),也没听过描述符(descriptor)这个概念,那么估计你也不会特地去搜索它们,然后就永远失去了使用这些 Python 独有的特性的机会。这也是本书试图解决的一个问题。

这本书并不是一本完备的 Python 使用手册,而是会强调 Python 作为编程语言独有的特性,这些特性或者是只有 Python 才具备的,或者是在其他大众语言里很少具备的。

本书的非目标读者

如果你才刚刚开始学习 Python,本书的内容会显得有点“超纲”。比难懂更糟糕的是,如果在学习 Python 的过程中过早接触本书的内容,你可能会误以为所有的 Python 代码都应该利用特殊方法和元编程(metaprogramming)技巧。我们知道,不成熟的抽象和过早优化一样,都会坏事。

本书内容概览

  • 第一部分,讲解 Python 的数据模型(data model),以及如何为了保证行为一致性而使用的特殊方法。
  • 第二部分,对各种集合类型包括序列(sequence)、映射(mapping)和集合(set),以及字符串(str)、字节序列(bytes)的特性的讲解。
  • 第三部分,讲解如何把函数作为一等对象(first-class object)来使用。
  • 第四部分,讲解类的构建,包括引用(reference)、“可变性”、实例的生命周期、集合类型、抽象基类、多重继承、操作符重载。
  • 第五部分,生成器(generator)、上下文管理器(context manager)、协程(coroutine)、yield from、并发性、面向事件的 I/O 。
  • 第六部分,再来讲解类。包括如何创建带属性的类、梳理函数、方法和描述符的关系、类装饰器(class decorator)、元类(metaclass)。

参考

廖杰良 - 2018-11-12

已标记关键词 清除标记
相关推荐
中文 高清 非扫描 带目录 源码下载: https://github.com/fluentpython/example-code 内容可选择 <b>非目标读者</b> 如果你才刚刚开始学 Python, 本书的内容可能会显得有些“超纲”。 比难懂更糟的是, 如果在学习 Python 的过程中过早接触本书的内容, 你可能会误以为所有的 Python 代码都应该利用特殊方法和元编程(metaprogramming) 技巧。 我们知道, 不成熟的抽象和过早的优化一样, 都会坏事。 <b>目标读者</b> 本书的目标读者是那些正在使用 Python, 又想熟悉 Python 3 的程序员。 如果你懂 Python2, 但是想迁移到 Python 3.4 或者更新的版本, 也没问题。 在写这本书的时候, 大多数专 业 Python 程序员用的还是 Python 2, 因此如果书中出现来自 Python 3 的特性, 读者可能会感到陌生, 我也会特别地做出解释。 然而, 本书的主要目的是为了充分地展现 Python 3.4 的魅力, 因此我不会一字一句地说明如何让本书的代码在旧版本里正常运行。 本书中的大多数例子稍做修改(甚至不用修改) 就可以在 Python 2.7 里面跑起来, 但是有些例子, 如果追求向下兼容, 就会需要大量的重写。 话虽如此, 我还是认为, 即便你无法从 Python 2.7 里脱身, 这本书也会对你很有帮助, 因为 Pyhon 语言的核心概念是不会变的。 Python 3 也不是一门全新的语言, 大多数的改动花 一下午大概就能适应, 官方文档里“Python 3.0 的新特性”一节(https://docs.python.org/3.0/whatsnew/3.0.html) 就是很好的切入点。 固然, 自 2009 年发布以来, Python 3.0 也在变化, 但是这些变化比起 Python 3.0 和 Python 2.0 之间的区别, 并没 有那么重要。 如果你尚不清楚自己对 Python 的熟悉程度能否跟得上本书的内容, 建议你回头看看Python 的官方教程。 注意, 除非是跟 Python 3 的新特性有关, 教程里的其他内容本书不会重复。
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页